Sommario:
- Terminologia
- La conversione
- Configurazione (+ avvio doppio)
Terminologia
BIOS = Sistema di input / output di base
(U) EFI = (Unified) Extensible Firmware Interface
MBR = Master Boot Record
GPT = Tabella partizione GUID
UEFI / EFI / BIOS = interfaccia firmware
MBR / GPT = In che modo il computer riconosce (per disco rigido) quali partizioni sono presenti su
guidare e come avviare da loro.
UEFI / BIOS
Un'interfaccia firmware è il modo in cui il firmware (il software all'interno
dispositivi) e il sistema operativo interagiscono. Inizializza l'hardware quindi viene eseguito
il sistema operativo e garantisce che i driver del sistema operativo possano funzionare
l'hardware.
Il BIOS è stata la solita interfaccia firmware che è stata utilizzata. L'UEFI è
un'interfaccia più recente che ha diverse funzionalità, come essere più veloce, con una GUI
e essere in grado di avviare la scheda di rete e ottenere un indirizzo IP. UEFI sostituisce
EFI. (Coloro che hanno sviluppato EFI hanno visto che c'erano altri che facevano qualcosa di simile
e così si unirono a loro, portando con loro le idee di EFI. Questo è diventato UEFI).
Un BIOS richiede che il bootloader sia all'inizio del disco, comunque un UEFI
utilizza una partizione per questo e può scegliere tra più boot loader da usare.
MBR / GPT + GRUB
Il MBR è una sezione di codice all'inizio del disco che contiene un avvio
loader (per il BIOS), così come la mappa delle partizioni e un identificativo univoco del disco.
Per installare GRUB su un disco con un MBR, GRUB posiziona un piccolo programma nell'MBR
carica il resto di GRUB da un'altra parte del disco. (Questo è fatto perché il
MBR è troppo piccolo per contenere tutto il GRUB). Lo spazio scelto è lo spazio
tra l'MBR e la prima partizione, che di solito esiste.
GPT è uno standard per come sono specificati i partitoni. Ha un 'protettivo'
MBR, tuttavia questo è solo per consentire ai computer basati su BIOS di avviarsi e fermarsi
strumenti che conoscono solo l'MBR dal tentativo di distruggere GPT. Può avere
(Il modo in cui viene gestito GPT dipende dal fatto che si stia avviando utilizzando un BIOS (o un sistema UEFI)
in modalità di emulazione BIOS) o UEFI. Mi concentrerò su UEFI in relazione alla domanda).
I boot loader per i sistemi operativi sono memorizzati in una partion chiamata EFI System
Partiton, che è formattato (di solito) con FAT32. Qui è installato GRUB.
Conversione
Per prima ...
Stiamo giocando con la tabella delle partizioni, quindi la sicurezza non è garantita
possibile. È un'operazione rischiosa. Tuttavia, il metodo non dovrebbe perdere dati.
Altri in questo modo: Non utilizzare su Apple Mac.
Ora ...
Dovrai farlo su un CD live (o un'altra installazione di Linux installata
su un altro disco.)
Quando ci occupiamo di dischi GPT, dobbiamo utilizzare un programma GPT consapevole. 'GPD fdisk' è
un buon strumento da usare e quello che userò. Può essere chiamato gptfdisk
o
gdisk
a seconda della distribuzione (Ubuntu lo chiama gdisk
). Parted (e Gparted)
è anche a conoscenza di GPT, quindi può essere utilizzato "in sicurezza" con i dischi GPT.
Per convertire devi:
- Ridimensiona le partizioni per adattarle ai dati GPT e alla partizione del sistema EFI.
- Converti il disco e aggiungi le partizioni
- Installa GRUB nella partizione di sistema EFI.
1) Ridimensiona partizione
Usa parted
(riga di comando) o gparted
(GUI) per ridimensionare il primo e l'ultimo
partizione. La prima partion dovrebbe avere circa 200MiB prima e l'ultima
la partizione dovrebbe avere 1MiB a 2MiB (o lo farà) tolto alla fine.
2) Converti il disco
Esegui
gdisk /dev/sdx
la modifica del dispositivo che desideri convertire è /dev/sdx
.
Dovrebbe dirti che convertirà la tabella dei partiti.
GPT fdisk (gdisk) version 0.6.14
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):
Ora aggiungi una nuova partizione, rendendola di tipo 'sistema EFI'. Dovrebbe trovare il libero
spazio all'inizio (suggerisco un numero di settore basso come 34) e
utilizzare automaticamente tutto lo spazio disponibile.
Gli esempi utilizzano un'unità flash USB da 4 GB con 1 partizione già presente, ridimensionata
come sopra.
Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-7831518, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-421887, default = 421887) or {+-}size{KMGTP}:
Current type is 'Linux/Windows data'
Hex code or GUID (L to show codes, Enter = 0700): L
0700 Linux/Windows data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8301 Linux reserved 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
af04 AppleTV recovery be00 Solaris boot bf00 Solaris root
bf01 Solaris /usr & Mac Z bf02 Solaris swap bf03 Solaris backup
bf04 Solaris /var bf05 Solaris /home bf06 Solaris alternate se
bf07 Solaris Reserved 1 bf08 Solaris Reserved 2 bf09 Solaris Reserved 3
bf0a Solaris Reserved 4 bf0b Solaris Reserved 5 c001 HP-UX data
c002 HP-UX service ef00 EFI System ef01 MBR partition scheme
ef02 BIOS boot partition fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 0700): ef00
Changed type of partition to 'EFI System'
Ora dovresti avere la partizione EFI.
Command (? for help): p
Disk /dev/sdd: 7831552 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 669247F2-37F7-4797-98F9-9CE56F7EA8C8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7831518
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 421888 7829503 3.5 GiB 0700 Linux/Windows data
2 2048 421887 205.0 MiB EF00 EFI System
Quindi esci gdisk
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed, possibly destroying your data? (Y/N): y
OK; writing new GUID partition table (GPT).
The operation has completed successfully.
Ora usa Gparted (o riga di comando mkfs.vfat
) per formattare la partizione come FAT32.
3) Installa GRUB
Questo si ottiene con meno garanzie che la parte precedente non l'ho provato io stesso.
Non sono sicuro di questo passaggio, quindi suppongo di utilizzare le istruzioni di RAOF :
Per passare a grub-efi ti piacerebbe
- Trova la tua partizione EFI; montalo in / boot / efi.Aggiungi questo a / etc / fstab¹
- Installa il pacchetto grub-efi
- Cambia la priorità di avvio del BIOS da UEFI e legacy in UEFI solo (o un'opzione simile)
Dovresti capire quale versione di grub-efi installare con
ioreg -l -p IODeviceTree | grep firmware-abi
Se dice EFI32
installa il pacchetto grub-efi-ia32
, se dice EFI64
installa il pacchetto grub-efi-amd64
. Puoi installare i pacchetti con
sudo apt-get install <package name>
Probabilmente funzionerà solo se è stato avviato in modalità EFI.
Se non funziona, puoi provare le queste istruzioni passo passo
(in "Installa GRUB2 in (U) sistemi EFI") dopo aver installato grub-efi
.
Configurazione (+ Dual Boot)
Se le istruzioni di RAOK funzionano, dovresti essere in grado di aggiungere la seguente riga a
% Co_de%
menuentry "Windows 7" {
set root='(hd0,gpt1)'
chainloader /EFI/microsoft/bootmgfw.efi
}
Presuppone che Windows sia riconosciuto come /etc/grub.d/40_custom
da GRUB. Potrebbe dover essere cambiato
a hd0
per funzionare.
Ora esegui
update-grub
per aggiornare il file di configurazione.
Riferimenti e ulteriore lettura
Ho usato diverse fonti.