Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi

 

Dual Boot Debian FreeBSD Grub-Efi. Dopo l'installazione di FreeBSD a fianco di altri OS, se si utilizza Grub come bootloader, bisogna configurarlo correttamente per riuscire a fare il boot da FreeBSD. Utlizzando l'installer UEFI di FreeBSD, verrano create tre partizioni:

 

root@debianbox:/home/edmond# fdisk -l

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1473D773-9A10-427F-814C-A04A354C6E1B

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    391167    389120  190M EFI System
/dev/sda2     391168  98047999  97656832 46.6G Linux filesystem
/dev/sda3   98048000 101953535   3905536  1.9G Linux swap
/dev/sda4  101953536 101986303     32768   16M Microsoft reserved
/dev/sda5  101986304 220737535 118751232 56.6G Microsoft basic data
/dev/sda6  220737536 269565951  48828416 23.3G Linux filesystem
/dev/sda7  269565952 269975551    409600  200M EFI System
/dev/sda8  269975552 301432831  31457280   15G FreeBSD UFS
/dev/sda9  301432832 305627135   4194304    2G FreeBSD swap

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C1A781CD-2BE7-4BC5-8FC1-081B44BB5144

Device        Start      End  Sectors  Size Type
/dev/sdb1      2048   391167   389120  190M EFI System
/dev/sdb2    391168 31641599 31250432 14.9G FreeBSD UFS
/dev/sdb3  31641600 35547135  3905536  1.9G Linux swap

non avendo problemi di spazio non ho bisogno di spostare il contenuto della partizione /dev/sda7 EFI in /dev/sda1 EFI, quindi per poter avviare FreBSD bisogna creare un menuentry corretto per Grub:

# nano /etc/grub.d/40_custom

che deve essere come sotto:

menuentry "FreeBSD" {
insmod part_gpt
insmod fat
set root=(hd0,gpt7)
chainloader /efi/boot/BOOTx64.efi
}

nel mio caso la partizione EFI FreeBSD è su /dev/sda7, quindi é la che deve puntare il menuentry.

# update-grub && grub-mkconfig
# reboot

enjoy πŸ˜‰

 

Ripristinare Grub2 EFI amd64 da Chroot su Debian

Ripristinare Grub2 EFI amd64 da Chroot su Debian

 

Guida su come reinstallare o ripristinare Grub2 EFI amd64 da Chroot, su Debian ed in generale su sistemi Linux. Per prima cosa bisognerà identificare la partizione /boot/efi, che potrà essere /dev/sda1 oppure /dev/sda2, successivamente la partizione root da montare, in cui bisognerà ripristinare Grub2 EFI. Nell'esempio sotto, la partizione /boot/efi è /dev/sda1, e la partizione root è /dev/sda3, quindi:

sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo rm /mnt/etc/resolv.conf
sudo cp /etc/resolv.conf /mnt/etc/
sudo chroot /mnt
apt-get install --reinstall grub-efi-amd64
update-grub
Ctrl+D

smontare le partizioni:

for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
sudo umount /dev/sda1
sudo umount /dev/sda3
sudo reboot

enjoy πŸ˜‰

 

Installare Grub Customizer 4.0.6 su Debian Wheezy/Jessie

 

grub-customizer

 

 

Per Installare Grub Customizer 4.0.6 su Debian Wheezy/Jessie, e quindi andare a modificare in maniera semplice e veloce le opzioni di Grub 2, basta seguire questi semplici steps:

 

# apt-get install build-essential libssl-dev cmake libgtkmm-3.0-dev gettext libarchive-dev

$ wget https://launchpad.net/grub-customizer/4.0/4.0.6/+download/grub-customizer_4.0.6.tar.gz

$ tar xfv grub-customizer*

$ cd grub-customizer*

$ cmake . && make -j3

# make install

 

enjoy πŸ˜‰

 

Boot verbose mode su Debian Jessie

 

boot verbose mode

 

Per avviare in verbose-mode, quindi riuscendo a vedere quello che succede sul computer al boot, bisogna modificare alcuni parametri di grub:

 

# nano /etc/default/grub

 

quindi commentare:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet"

 

inserire "text":

GRUB_CMDLINE_LINUX="text"

 

decommentare:

GRUB_TERMINAL=console

 

aggiornare grub:

 

# update-grub

 

enjoy πŸ˜‰

 

Installare Grub 2 versione 2.00-7 su Debian Gnu/Linux

 

Da circa venti giorni nei repo Debian experimental è arrivato Grub 2 con la versione 2.00-7. Non avendo null'altro da fare mi sono deciso ad installarlo:

 

# apt-get install -t experimental grub-pc

 

tutto è andato bene, i sistemi sono stati tutti riconosciuti, e nel menu si nota un cambiamento:

 

Installazione completata, nessun errore segnalato.
Creazione di grub.cfg…
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Trovata immagine linux: /boot/vmlinuz-3.2.0-3-amd64
Trovata immagine initrd: /boot/initrd.img-3.2.0-3-amd64
Attenzione: Please don't use old title `Debian GNU/Linux, con Linux 3.2.0-3-amd64' for GRUB_DEFAULT, use `Advanced options for Debian GNU/Linux>Debian GNU/Linux, con Linux 3.2.0-3-amd64' (for versions before 2.00) or `gnulinux-advanced-ac56aa26-0325-40a2-a4f6-7b82017bafbf>gnulinux-3.2.0-3-amd64-advanced-ac56aa26-0325-40a2-a4f6-7b82017bafbf' (for 2.00 or later)

 

nel nuovo menu di Grub 2, nella lista del nostro kernel apparirà la nuova voce, "Opzioni avanzate per Debian GNU/Linux", utile come al solito per eventuali recuperi di sistema.

 

enjoy πŸ˜‰

Installare Grub-Customizer 3.0.2 su Debian Wheezy/Sid

 

 

 

Grub Customizer serve ad abbellire e modificare il menu di Grub 2. Per installarlo su Debian Wheezy/Sid:

 

 

# apt-get install libssl-dev cmake libgtkmm-2.4-dev

$ wget https://launchpad.net/grub-customizer/3.0/3.0.2/+download/grub-customizer_3.0.2.tar.gz

$ tar xfv grub-customizer_3.0.2.tar.gz

$ cd grub-customizer-3.0.2/

$ cmake

$ make -j3

# make install

 

enjoy πŸ˜‰

Velocizzare boot e prestazioni su Debian Squeeze con e4rat 0.2.3

 

 

 

 

Un anno e mezzo fa circa avevo fatto una guida divisa in due parti, qua e qua, su come velocizzare il boot e le prestazioni su Debian Squeeze, a distanza di tempo ho provato anche la soluzione e4rat (Reducing Access Times), che promette di velocizzare il boot di ben 3 volte. Questo è un tool che si occupa della riallocazione dei blocchi dei programmi caricati all'avvio, e precaricare i programmi usati frequentemente. Questa è una guida semplice, che è fatta di 3 fasi:

 

  1. e4rat-collect – raccoglie informazione sui file caricati (default 120 secondi)
  2. e4rat-realloc – riallocazione files
  3. e4rat-preload – precaricamento programmi

 

Download ed installazione di e4rat_0.2.3_amd64.deb oppure e4rat_0.2.3_i386.deb

 

$ sudo nano /boot/grub/grub.cfg

 

e dopo ro quiet passare il parametro seguente al kernel:

 

init=/sbin/e4rat-collect

 

salvare e riavviare. Da questo momento si hanno 120 secondi per usare i programmi di proprio interesse, e nel contempo e4rat raccoglierà le informazioni in /var/lib/e4rat/startup.log. Se 120 secondi per qualcuno non sono abbastanza, si possono modificare editando il file /etc/e4rat.conf. Adesso bisogna andare a rimuovere il parametro precedente inserito, e poi:

 

$ sudo init 1

 

inserire password di root, e poi lanciare il comando:

 

# e4rat-realloc  /var/lib/e4rat/startup.log

 

una volta finita la reallocozione:

 

init 2

 

loggarsi ed inserire permanentemente il parametro e4rat-preload:

 

$ sudo nano /etc/default/grub

 

e modificare la stringa in questo modo:

 

GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/e4rat-preload"

 

salvare, aggiornare grub e riavviare:

 

$ sudo update-grub

$ sudo init 6

 

questo è tutto.

 

 

enjoy πŸ˜‰

Cambiare immagine di Background di Grub2 e Gdm3 su Debian Wheezy/Sid

 

Di seguito i passaggi per poter cambiare le immagini di background di Grub2 e Gdm3 su Debian Wheezy/Sid.

 

Sfondo Grub2

 

$ sudo gedit /etc/default/grub

 

ed inserire questa stringa:

 

GRUB_BACKGROUND="/percorso/dell/immagine.png.jpg"

 

poi aggiornare grub2:

 

$ sudo update-grub

 

 

Sfondo Gdm3:

 

inserire lo sfondo scelto in /usr/share/images/desktop-base/ (io ho usato lo stesso percorso dell'originale) e poi modificare il file sotto, inserendo il nome dell'immagine appena inserita.

 

$ sudo nano /usr/share/gdm/greeter-settings/xy_desktop-base.gschema.override

 

più o meno così:

 

[org.gnome.desktop.background]
picture-uri='file:///usr/share/images/desktop-base/Immagine.jpg.png'
picture-options='zoom'


i valori accettati sono "zoom, scaled , stretched".

 

poi aggiornare:

 

$ sudo dpkg-reconfigure gdm3

 

in caso di errori, ripetere il dpkg-reconfigure gdm3

 

 

enjoy πŸ˜‰

Ripristinare Grub2 da chroot da una Debian Live

 

Il metodo che ho sempre usato, ogni qual volta ho avuto la necessità di ripristinare il bootloader (Grub2), è stato quello del chroot. Ho preso questa abitudine dopo che mi sono accorto un bel po di tempo fa, che spesso ii metodi "normali" non sempre mi funzionavano. Invece questo metodo non ha mai fallito.

 

Requisiti:

Cd live, della stessa architettura del sistema da recuperare.

 

$ sudo fdisk -l
$ sudo mount /dev/sdXX /mnt
$ for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
$ sudo chroot /mnt
# grub-install /dev/sdX
  CTRL-D
$ sudo reboot

 

enjpy πŸ˜‰

Update-grub da chroot

 

Installando Debian quasi sempre da chroot, ho bisogno di fare un update-grub dalla partizione /dev/sda1 dove è installata Debian Squeeze con Grub (MBR). Chiaramente se sono su Squeeze non c'è nessun problema, ma se invece sono su un'altra partizione, ho bisogno di chroottarmi in Squeeze e dare un update-grub. Per non avere errori bisogna prima montare /dev /sys /proc: Quindi, montare la partizione principale, nel mio caso /dev/sda1, e poi procedere con il mount:

 

# mount /dev/sda1 /mnt/debian
# mount -o bind /dev /mnt/debian/dev
# mount -o bind /sys /mnt/debian/sys
# mount -o bind /proc /mnt/debian/proc
# chroot /mnt/debian /bin/bash
# update-grub
# grub-mkconfig

 

 

enjoy πŸ˜‰