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 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 /mnt/boot/efi
sudo umount /dev/sda3 /mnt
sudo reboot

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 ๐Ÿ˜‰

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 ๐Ÿ˜‰

Debian-Sid Grub-pc errore 127

 

Stamattina facendo gli aggiornamenti su Sid mi è apparso questo strano errore, che chiamava in causa grub-pc:

/etc/grub.d/30_os-prober: 40: function: not found
dpkg: errore nell'elaborare grub-pc (–configure):
 il sottoprocesso vecchio script di post-installation ha restituito lo stato di errore 127
Si sono verificati degli errori nell'elaborazione:
 grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)

Questo bug molto fastidioso è stato fissato a tempo di record, i passi da seguire sono i seguenti:

editare il file /etc/grub.d/30_os-prober

ed alla riga num. 40 togliere la funzione:

function osx_entry

poi dare i comandi:

grub-install /dev/sda

/dev/sda nel mio caso.

update-grub

A questo punto il problema dovrebbe essere risolto.

Super Grub Disk su penna usb

 

Super Grub Disk come si sa è utilissimo, è uno di quei tool che dovrebbe essere sempre ha portata di mano, poichè prima o poi capita di doverlo usare, evitando così la procedura manuale. E' disponibile come immagine iso, floppy ed usb. Può essere molto comodo tenerlo in una chiavetta usb per diversi motivi, in primis per comodità, dato che ha differenza dei cd, che ognuno di noi possiede in gran numero, e li tiene infognati in ogni dove, di penne usb al max se ne possiede 2, 3, 4 , quindi sono sempre facili da trovare. Un altro buon motivo, è dato dal fatto che, installando SGD su una penna usb, questa può essere usata lo stesso per conservarne i dati, basta non toccare l'unica cartella di nome boot, che tra l'altro è di 1mb. Si puo scaricare da questa questa pagina anche in italiano. L'installazione è semplice, e si esegue in pochi passi.

Una volta scaricato super_grub_disk_italiano_usb_0.9673.tar.bz2, scompattarlo, e la cartella boot, copiarla sulla penna:

 

cp -r boot /media/disk

dove disk è la nosta penna. Smontare la penna, ed assicurarsi che ciò sia avvenuto per davvero, altrimenti non funziona.

 

umount /dev/sdg1 nel mio caso

Da root digitare

 

grub

adesso vediamo come grub identifica la nostra penna. Aiutandoci con il tasto tab.

 

grub> geometry (hd

grub> geometry (hd Possible disks are: hd0 hd1 hd2

grub> geometry (hd2)

drive 0x82: C/H/S = 31/255/63, The number of sectors = 501759, /dev/sdg Partition num: 0, Filesystem type is fat, partition type 0x6

Quindi si nota che il dispositivo è hd2 ed è identificato anche come /dev/sdg. Quindi:

device (hd2) /dev/sdg

root (hd2,0)

setup (hd2)

quit

exit

sync
 

 Riavviamo e ci assicuriamo che il pc sia settato per fare il boot da usb.

Super Grub Disk in italiano

 

Qualche giorno fa ho "conosciuto" adrian15, il papà di SGD, e mi ha chiesto se ero interessato alla traduzione italiana di Sgd. Io naturalmente ho accettato, e mi sono messo subito all’opera, sempre contento di dare un contributo alla causa dei pinguini. Devo dire che tradurre un programma non è come tradurre una semplice frase, anche perchè ci sono dei termini che in inglese significano una cosa, ed in italiano non significano quasi nulla. se poi vai a guardare come gli altri hanno tradotto nelle rispettive lingue il programma, allora davvero non ne vieni a capo:) Comunque ho dato il massimo ed ho tradotto SGD, ho inviato il tutto ad adrian15, ed aspetto notizie su quando inserirà la traduzione, o su altri sviluppi. Per chi ha bisogno di SGD in italiano subito ho messo a disposizione quello appena modificato da me, scaricabile da qua. Una volta scaricato lo scompattiamo con

 

tar -xvf public_sgd_source_code_0.9654.tar.gz

entriamo nella cartella creata

 

cd /home/UTENTE/Desktop/public_sgd_source_code_0.9654

e adesso siamo pronti a prepararci un iso

 

./make_sgd.sh cdromiso /home/UTENTE/mysgdiso.iso

chiaramente sostituire il nome utente con il vostro.

 

a questo punto la si può masterizzare, e si avrà SGD in italiano.

 

Aggiornamento 26/10

 

Scaricare Sgd in italiano direttamente dal sito ufficiale, come immagine iso, floppy, usb.

Ripristinare Grub da un cd live

Quando si configura un computer, per un dual boot tra linux e windows, bisogna ricordarsi, che windows va installato per prima, poichè, mentre linux da sistema democratico qual'è, riconosce la presenza di un altro os, windows invece se ne sbatte, e sovrascrive l'MBR, rendendo di fatto impossibile la scelta dell'alltro os. Nel caso ciò avvenisse, il tutto si puo risolvere servendosi di un cd live. Una volta avviato il sistema dal cd live, dobbiamo montare la partizione su cui è installato linux. Nel caso non si sapesse quale sia, usare:

 

fdisk -l

quindi montiamola con

 

mount -t ext3 /dev/hda1 /mnt

chiaramente sostituire hda1 con la propria partizione corrispondente. Nel caso si avesse una partizione separata per /boot, bisogna montare anche quella

 

mkdir /mnt/boot mount -t ext3 /dev/hda2 /mnt/boot

montiamo anche i file system /dev e proc

 

mount –bind /dev/ /mnt/dev mount –t proc proc /mnt/proc

adesso ci chrootiamo

 

chroot /mnt

quindi entriamo in Grub e diamo i seguenti comandi

 

grub root (hd0,1)

setup (hd0)

quit

dove hd0,1 e hd0 si riferiscono alla prima partizione del primo disco. Per evitare tale procedura si può fare il backup dell' MBR, seguendo questa procedura. Un'altro tool molto utile, è usare Super Grub Disk, scaricabile sia come immagine floppy, sia come cd-rom.