Questo è un articolo che dettaglia diversi metodi di coesistenza Arch/Windows.
- Informazioni importanti
- Limitazioni UEFI vs BIOS di Windows
- Limitazioni dei supporti di installazione
- Limitazioni del bootloader UEFI vs BIOS
- UEFI Secure Boot
- Avvio rapido e ibernazione
- Impostazioni di Windows
- Limitazioni dei nomi dei file di Windows
- Installazione
- Windows prima di Linux
- Sistemi BIOS
- SistemiUEFI
- Linux prima di Windows
- Firmware UEFI
- Risoluzione dei problemi
- Impossibile creare una nuova partizione o individuarne una esistente
- Non è possibile avviare Linux dopo aver installato Windows
- Ripristino di un record di avvio di Windows
- Time standard
- Vedi anche
Informazioni importanti
Limitazioni UEFI vs BIOS di Windows
Microsoft impone limitazioni su quale modalità di avvio del firmware e quale stile di partizionamento può essere supportato in base alla versione di Windows utilizzata:
Questo articolo o sezione necessita di espansione.
- Windows XP sia x86 32-bit che x86_64 (chiamato anche x64) (RTM e tutti i Service Pack) versioni non supportano l’avvio in modalità UEFI (IA32 o x86_64) da qualsiasi disco (MBR o GPT) O in modalità BIOS da disco GPT. Supportano solo l’avvio BIOS e solo dal disco MBR.
- Le versioni di Windows Vista o 7 x86 32-bit (RTM e tutti i Service Pack) supportano l’avvio in modalità BIOS solo da dischi MBR, non da dischi GPT. Non supportano l’avvio UEFI x86_64 o IA32 (x86 32-bit) UEFI. Supportano solo l’avvio BIOS e solo da disco MBR.
- Windows Vista RTM x86_64 (solo la versione RTM) supporta l’avvio in modalità BIOS solo da dischi MBR, non da dischi GPT. Non supporta l’avvio UEFI x86_64 o IA32 (x86 32-bit) UEFI. Supporta solo l’avvio BIOS e solo da disco MBR.
- Le versioni di Windows Vista (SP1 e superiori, non RTM) e Windows 7 x86_64 supportano l’avvio in modalità UEFI x86_64 solo da disco GPT, OPPURE in modalità BIOS solo da disco MBR. Non supportano l’avvio IA32 (x86 32-bit) UEFI da disco GPT/MBR, l’avvio x86_64 UEFI da disco MBR, o l’avvio BIOS da disco GPT.
- Windows 8/8.1 x86 32-bit supportano l’avvio in modalità IA32 UEFI solo da disco GPT, O in modalità BIOS solo da disco MBR. Non supportano l’avvio x86_64 UEFI da disco GPT/MBR, l’avvio x86_64 UEFI da disco MBR, o l’avvio BIOS da disco GPT. Sul mercato, gli unici sistemi noti per essere forniti con IA32 (U)EFI sono alcuni vecchi Intel Mac (modelli precedenti al 2010?) e i tablet Windows System-on-Chip Intel Atom (Clover trail e Bay Trail). in cui si avvia SOLO in modalità IA32 UEFI e SOLO da disco GPT.
- Le versioni Windows 8/8.1 x86_64 supportano l’avvio in modalità x86_64 UEFI solo da disco GPT, O in modalità BIOS solo da disco MBR. Non supportano l’avvio IA32 UEFI, l’avvio x86_64 UEFI da disco MBR, o l’avvio BIOS da disco GPT.
In caso di sistemi preinstallati:
- Tutti i sistemi preinstallati con Windows XP, Vista o 7 a 32 bit, indipendentemente dal livello di Service Pack, bitness, edizione (SKU) o presenza del supporto UEFI nel firmware, si avviano in modalità BIOS/MBR per default.
- La maggior parte dei sistemi preinstallati con Windows 7 x86_64, indipendentemente dal livello del Service Pack, dal bitness o dall’edizione (SKU), si avviano in modalità BIOS/MBR di default. Pochissimi sistemi recenti preinstallati con Windows 7 sono noti per avviarsi in modalità UEFI/GPT x86_64 di default.
- Tutti i sistemi preinstallati con Windows 8/8.1 si avviano in modalità UEFI/GPT. Il bitness del firmware corrisponde al bitness di Windows, cioè l’avvio di Windows 8/8.1 x86_64 in modalità UEFI x86_64 e l’avvio di Windows 8/8.1 a 32 bit in modalità IA32 UEFI.
Il modo migliore per rilevare la modalità di avvio di Windows è fare quanto segue:
- Boot in Windows
- Premere i tasti
Win+R
per avviare la finestra di dialogo Esegui - Nella finestra di dialogo Esegui digitare
msinfo32.exe
e premere Invio - Nelle finestre Informazioni di sistema, selezionare Riepilogo sistema sulla sinistra e controllare il valore della voce Modalità BIOS sulla destra
- Se il valore è
UEFI
, Windows si avvia in modalità UEFI/GPT. Se il valore èLegacy
, Windows si avvia in modalità BIOS/MBR.
In generale, Windows forza il tipo di partizionamento a seconda della modalità firmware utilizzata, cioè se Windows viene avviato in modalità UEFI, può essere installato solo su un disco GPT. Se Windows è avviato in modalità Legacy BIOS, può essere installato solo su un disco MBR. Questa è una limitazione imposta dal programma di installazione di Windows, e da aprile 2014 non c’è un modo ufficialmente (Microsoft) supportato per installare Windows in configurazione UEFI/MBR o BIOS/GPT. Quindi Windows supporta solo l’avvio UEFI/GPT o la configurazione BIOS/MBR.
Questa limitazione non è imposta dal kernel Linux, ma può dipendere da quale boot loader è usato e/o come il boot loader è configurato. La limitazione di Windows dovrebbe essere considerata se l’utente desidera avviare Windows e Linux dallo stesso disco, poiché la procedura di installazione del boot loader dipende dal tipo di firmware e dalla configurazione del partizionamento del disco. Nel caso in cui Windows e Linux facciano il dual boot dallo stesso disco, è consigliabile seguire il metodo usato da Windows, cioè scegliere l’avvio UEFI/GPT o l’avvio BIOS/MBR. Vedi https://support.microsoft.com/kb/2581408 per maggiori informazioni.
Limitazioni dei supporti di installazione
I tablet System-on-Chip Intel Atom (Clover trail e Bay Trail) forniscono solo firmware IA32 UEFI senza supporto Legacy BIOS (CSM) (a differenza della maggior parte dei sistemi x86_64 UEFI), a causa delle linee guida Microsoft Connected Standby per gli OEM. A causa della mancanza del supporto Legacy BIOS in questi sistemi, e della mancanza dell’avvio UEFI a 32 bit nella ISO di installazione ufficiale di Arch (FS#53182), il supporto di installazione ufficiale non può avviarsi su questi sistemi. Vedere Unified Extensible Firmware Interface#UEFI firmware bitness per ulteriori informazioni e soluzioni disponibili.
Limitazioni del bootloader UEFI vs BIOS
La maggior parte dei bootloader linux installati per un tipo di firmware non possono lanciare o concatenare i bootloader dell’altro tipo di firmware. Cioè, se Arch è installato in modalità UEFI/GPT o UEFI/MBR in un disco e Windows è installato in modalità BIOS/MBR in un altro disco, il bootloader UEFI usato da Arch non può concatenare il BIOS installato da Windows nell’altro disco. Allo stesso modo se Arch è installato in modalità BIOS/MBR o BIOS/GPT in un disco e Windows è installato in UEFI/GPT in un altro disco, il bootloader BIOS usato da Arch non può concatenare Windows installato in UEFI nell’altro disco.
Le uniche eccezioni a questo sono GRUB nei Mac Apple in cui GRUB in modalità UEFI può avviare il sistema operativo installato nel BIOS tramite il comando appleloader
(non funziona nei sistemi non-Apple), e rEFInd che tecnicamente supporta l’avvio di sistemi operativi BIOS legacy da sistemi UEFI, ma non sempre funziona nei sistemi UEFI non-Apple come dice il suo autore Rod Smith.
Tuttavia se Arch è installato in BIOS/GPT in un disco e Windows è installato in modalità BIOS/MBR in un altro disco, allora il boot loader BIOS usato da Arch PUÒ avviare Windows nell’altro disco, se il boot loader stesso ha la capacità di effettuare il chainload da un altro disco.
Windows Setup crea una partizione di sistema EFI da 100 MiB (eccetto per i dischi nativi Advanced Format 4K dove crea un ESP da 260 MiB), quindi l’uso di più kernel è limitato. I rimedi includono:
- Monta ESP su
/efi
e usa un boot loader che abbia driver di file system e sia capace di lanciare kernel che risiedono su altre partizioni. - Espandi la partizione di sistema EFI, tipicamente diminuendo la dimensione della partizione di ripristino o spostando la partizione Windows (gli UUID cambieranno).
- Fare il backup ed eliminare i font non necessari in
esp/EFI/Microsoft/Boot/Fonts/
. - Fare il backup ed eliminare le directory delle lingue non necessarie in
esp/EFI/Microsoft/Boot/
(ad esempio mantenere soloen-US
).
UEFI Secure Boot
Tutti i sistemi Windows 8/8.1 preinstallati si avviano di default in modalità UEFI/GPT e hanno UEFI Secure Boot abilitato per default. Questo è richiesto da Microsoft per tutti i sistemi preinstallati dagli OEM.
I supporti di installazione di Arch Linux non supportano Secure Boot. Vedi Secure Boot#Booting di un supporto di installazione.
Si consiglia di disabilitare manualmente UEFI Secure Boot nella configurazione del firmware prima di tentare di avviare Arch Linux. Windows 8/8.1 DOVREBBE continuare ad avviarsi bene anche se il Secure Boot è disabilitato. L’unico problema per quanto riguarda la disabilitazione del supporto UEFI Secure Boot è che richiede l’accesso fisico al sistema per disabilitare l’opzione secure boot nella configurazione del firmware, in quanto Microsoft ha esplicitamente vietato la presenza di qualsiasi metodo per disattivare da remoto o programmaticamente (dall’interno del sistema operativo) il secure boot in tutti i sistemi Windows 8/8.1 preinstallato
Avvio rapido e ibernazione
Ci sono due SO che possono essere ibernati, si può ibernare Windows e avviare Linux (o un altro SO), o si può ibernare Linux e avviare Windows, o ibernare entrambi i SO.
Per la stessa ragione, se si condivide una partizione di sistema EFI tra Windows e Linux, allora la partizione di sistema EFI può essere danneggiata se si va in ibernazione (o si spegne con Fast Startup abilitato) e poi si avvia Linux, o si iberna Linux e poi si avvia Windows.
ntfs-3g ha aggiunto una protezione per prevenire il montaggio in lettura-scrittura dei filesystem NTFS ibernati, ma il driver NTFS all’interno del kernel Linux non ha tale protezione.
Windows non può leggere filesystem come ext4 per default che sono comunemente usati per Linux. Questi filesystem non devono essere considerati, a meno che non si installi un driver di Windows per loro.
Impostazioni di Windows
L’avvio veloce è una caratteristica di Windows 8 e superiori che iberna il computer piuttosto che spegnerlo effettivamente per accelerare i tempi di avvio.
Ci sono molteplici opzioni riguardanti le impostazioni di Windows per l’avvio veloce e l’ibernazione che sono coperte nelle prossime sezioni.
- disabilita l’avvio veloce e disabilita l’ibernazione
- disabilita l’avvio veloce e abilita l’ibernazione
- abilita l’avvio veloce e abilita l’ibernazione
La procedura per disabilitare l’avvio veloce è descritta qui per Windows 8 e qui per Windows 10. In ogni caso, se si disabilita un’impostazione, assicurarsi di disabilitare l’impostazione e poi spegnere Windows, prima di installare Linux; si noti che il riavvio non è sufficiente.
Disabilitare l’avvio veloce e disabilitare l’ibernazione
Questa è l’opzione più sicura, e raccomandata se non si è sicuri del problema, in quanto richiede la minor quantità di consapevolezza dell’utente quando si riavvia da un SO all’altro. Puoi condividere la stessa partizione di sistema EFI tra Windows e Linux.
Disabilita l’avvio veloce e abilita l’ibernazione
Questa opzione richiede la consapevolezza dell’utente quando si riavvia da un sistema operativo all’altro.Se vuoi avviare Linux mentre Windows è ibernato, che è un caso comune, allora
- devi usare una partizione di sistema EFI (ESP) separata per Windows e Linux, e assicurarti che Windows non monti l’ESP usato per Linux. Poiché ci può essere solo un ESP per unità, l’ESP usato per Linux deve essere posizionato su un’unità separata dall’ESP usato per Windows. In questo caso Windows e Linux possono ancora essere installati sullo stesso disco in partizioni diverse, se metti l’ESP usato da Linux su un altro disco che non sia la partizione root di Linux.
- Non puoi montare in lettura-scrittura nessun filesystem in Linux, che è montato da Windows mentre Windows è ibernato. Dovresti stare estremamente attento a questo, e considerare anche il comportamento di Automount.
- Se spegni completamente Windows, piuttosto che ibernarlo, allora puoi montare in lettura-scrittura il filesystem.
Abilita l’avvio veloce e abilita l’ibernazione
Si applicano le stesse considerazioni del caso “Disabilita l’avvio veloce e abilita l’ibernazione”, ma poiché Windows non può essere spento completamente, solo ibernato, non puoi mai montare in lettura-scrittura nessun filesystem che è stato montato da Windows mentre Windows è ibernato.
Limitazioni dei nomi dei file di Windows
Windows è limitato a percorsi di file più brevi di 260 caratteri.
Windows mette anche certi caratteri fuori limite nei nomi di file per ragioni che risalgono al DOS:
-
<
(meno di) -
>
(maggiore di) -
:
(due punti) -
"
(doppio apice) -
/
(barra avanti) -
\
(backslash) -
|
(barra verticale o pipe) -
?
(punto interrogativo) -
*
(asterisco)
Sono limitazioni di Windows e non di NTFS: qualsiasi altro sistema operativo che utilizza la partizione NTFS andrà bene. Windows non riuscirà a rilevare questi file e l’esecuzione di chkdsk
molto probabilmente causerà la loro cancellazione. Questo può portare a potenziali perdite di dati.
NTFS-3G applica le restrizioni di Windows ai nuovi nomi di file attraverso l’opzione windows_names (vedi fstab).
Installazione
Il modo raccomandato per impostare un sistema a doppio avvio Linux/Windows è di installare prima Windows, usando solo una parte del disco per le sue partizioni. Quando hai finito la configurazione di Windows, avvia l’ambiente di installazione di Linux dove puoi creare e ridimensionare le partizioni per Linux lasciando intatte quelle esistenti di Windows. L’installazione di Windows creerà la partizione di sistema EFI che può essere usata dal tuo boot loader di Linux.
Windows prima di Linux
Sistemi BIOS
Utilizzando un boot loader di Linux
Puoi usare qualsiasi boot loader del BIOS che supporti multi-boot.
Utilizzando il boot loader di Windows
Con questa configurazione il bootloader di Windows carica GRUB che poi avvia Arch.
Lettore d’avvio di Windows Vista/7/8/8.1
Questo articolo o sezione necessita di miglioramenti di lingua, sintassi wiki o stile. Vedi Aiuto:Stile per riferimento.
L’accuratezza dei fatti di questo articolo o sezione è contestata.
Per fare in modo che il boot loader di Windows veda la partizione Linux, una delle partizioni Linux create deve essere FAT32 (in questo caso, /dev/sda3
). Il resto della configurazione è simile a una tipica installazione. Alcuni documenti affermano che la partizione caricata dal boot loader di Windows deve essere una partizione primaria, ma io l’ho usata senza problemi su una partizione estesa.
- Quando installi il boot loader GRUB, installalo sulla tua partizione
/boot
piuttosto che sull’MBR.Nota: per esempio, la mia partizione/boot
è/dev/sda5
. Così ho installato GRUB su/dev/sda5
invece di/dev/sda
. Per aiuto su come fare questo, vedi GRUB/Tips and tricks#Install to partition or partitionless disk.
- In Linux fai una copia delle informazioni di boot digitando quanto segue nella shell di comando:
- Boot in Windows e apri e dovresti essere in grado di vedere il file linux.bin a
C:\
. Ora esegui cmd con i privilegi di amministratore (vai a Start > Tutti i programmi > Accessori, clicca con il tasto destro su Prompt dei comandi e seleziona Esegui come amministratore):
bcdedit /create /d "Linux" /application BOOTSECTOR
- BCDEdit restituirà un UUID per questa voce a cui farò riferimento come {ID} nei passi successivi. Dovrai sostituire {ID} con l’identificatore effettivo restituito. Un esempio di {ID} è {d7294d4e-9837-11de-99ac-f3f3a79e3e93}.
bcdedit /set {ID} device partition=c:bcdedit /set {ID} path \linux.binbcdedit /displayorder {ID} /addlastbcdedit /timeout 30
Riavvia e divertiti. Nel mio caso sto usando il boot loader di Windows in modo da poter mappare il secondo pulsante di accensione del mio Dell Precision M4500 per avviare Linux invece di Windows.
SistemiUEFI
Se avete già installato Windows, esso avrà già creato alcune partizioni su un disco formattato GPT:
- una partizione Windows Recovery Environment, generalmente di dimensioni 499 MiB, contenente i file necessari per avviare Windows (cioè l’equivalente di
/boot
di Linux), - una partizione di sistema EFI con un filesystem FAT32,
- una partizione riservata Microsoft, generalmente di 128 MiB,
- una partizione dati di base Microsoft con un filesystem NTFS, che corrisponde a
C:
, - potenzialmente partizioni di ripristino e backup del sistema e/o partizioni dati secondarie (corrispondenti spesso a
D:
e superiori).
Utilizzando l’utilità Gestione disco di Windows, controllate come sono etichettate le partizioni e quale tipo viene riportato. Questo vi aiuterà a capire quali partizioni sono essenziali per Windows, e quali altre potreste riutilizzare. L’utilità Gestione disco di Windows può anche essere usata per ridurre le partizioni di Windows (NTFS) per liberare spazio su disco per partizioni aggiuntive per Linux.
Potete quindi procedere con il partizionamento, a seconda delle vostre esigenze.
Ricordate che una partizione di sistema EFI aggiuntiva non dovrebbe essere creata, poiché potrebbe impedire l’avvio di Windows. Monta semplicemente la partizione esistente.
Il boot loader deve supportare il chainloading di altre applicazioni EFI per fare il dual boot Windows / Linux.
\EFI\Microsoft\Boot\bootmgfw.efi
) e lo mostreranno nel loro menu di avvio automaticamente. Per GRUB segui o GRUB#Windows installato in modalità UEFI/GPT per aggiungere manualmente la voce del menu di avvio o GRUB#Detecting other operating systems per un file di configurazione generato.I computer che vengono forniti con versioni più recenti di Windows hanno spesso il Secure Boot abilitato. Avrete bisogno di prendere ulteriori misure per disabilitare Secure Boot o per rendere il vostro supporto di installazione compatibile con il secure boot (vedi sopra e nella pagina collegata).
Linux prima di Windows
Anche se il modo raccomandato per impostare un sistema a doppio avvio Linux/Windows è di installare prima Windows, si può fare il contrario. Al contrario di installare Windows prima di Linux, dovrai mettere da parte una partizione per windows, diciamo 40GB o più grande, in anticipo. O avere dello spazio su disco non partizionato, o creare e ridimensionare le partizioni per Windows dall’interno dell’installazione di Linux, prima di lanciare l’installazione di Windows.
Firmware UEFI
Windows userà la partizione di sistema EFI già esistente. Contrariamente a quanto affermato in precedenza, non è chiaro se una singola partizione per Windows, senza Windows Recovery Environment e senza partizione riservata Microsoft, non vada bene.
Segue uno schema, assumendo che Secure Boot sia disabilitato nel firmware.
- Boot nell’installazione di Windows. Attenti a fargli usare solo la partizione intend, ma per il resto lasciategli fare il suo lavoro come se non ci fosse l’installazione di Linux.
- Seguite la sezione #Avvio rapido e ibernazione.
- Fissate la capacità di caricare Linux all’avvio, magari seguendo #Cannot boot Linux after installing Windows. È stato già menzionato nei sistemi #UEFI che alcuni boot manager di Linux rilevano automaticamente Windows Boot Manager. Anche se le installazioni più recenti di Windows hanno un’opzione di riavvio avanzato, da cui è possibile avviare Linux, si consiglia di avere altri mezzi per avviare Linux, come un supporto di installazione arch o un live CD.
Risoluzione dei problemi
Impossibile creare una nuova partizione o individuarne una esistente
Vedi #Windows UEFI vs limitazioni BIOS.
Non è possibile avviare Linux dopo aver installato Windows
Vedi Unified Extensible Firmware Interface#Windows cambia l’ordine di avvio.
Ripristino di un record di avvio di Windows
Per convenzione (e per facilità di installazione), Windows viene solitamente installato sulla prima partizione e installa la sua tabella delle partizioni e il riferimento al suo bootloader nel primo settore di quella partizione. Se si installa accidentalmente un bootloader come GRUB nella partizione di Windows o si danneggia il record di avvio in qualche altro modo, sarà necessario utilizzare un’utilità per ripararlo. Microsoft include un’utilità per riparare il settore di avvio FIXBOOT
e un’utilità per riparare l’MBR chiamata FIXMBR
nei loro dischi di ripristino, o talvolta nei loro dischi di installazione. Usando questo metodo, potete fissare il riferimento sul settore di avvio della prima partizione al file di bootloader e fissare il riferimento sul MBR alla prima partizione, rispettivamente. Dopo aver fatto questo, si dovrà reinstallare GRUB nell’MBR come era stato originariamente previsto (cioè, il bootloader di GRUB può essere assegnato al chainload del bootloader di Windows).
Se si desidera tornare ad usare Windows, è possibile utilizzare il comando FIXBOOT
che incatena dall’MBR al settore di avvio della prima partizione per ripristinare il normale caricamento automatico del sistema operativo Windows.
Da notare, c’è una utility Linux chiamata ms-sys
(pacchetto ms-sysAUR in AUR) che può installare gli MBR. Tuttavia, questa utility è attualmente in grado di scrivere solo nuovi MBR (tutti i sistemi operativi e i file system supportati) e settori di avvio (a.k.a. boot record; equivalente a usare FIXBOOT
) per i file system FAT. La maggior parte dei LiveCD non ha questa utilità di default, quindi dovrà essere installata prima, oppure si può guardare un CD di salvataggio che ce l’ha, come Parted Magic.
Prima, scrivi di nuovo le informazioni sulla partizione (tabella):
# ms-sys --partition /dev/sda1
Poi, scrivi un MBR di Windows 2000/XP/2003:
# ms-sys --mbr /dev/sda # Read options for different versions
Poi, scrivi il nuovo settore di avvio (boot record):
# ms-sys -(1-6) # Read options to discover the correct FAT record type
ms-sys
può anche scrivere MBR di Windows 98, ME, Vista, e 7, vedi ms-sys -h
.
Time standard
- Raccomandato: Impostare sia Arch Linux che Windows per usare UTC, seguendo System time#UTC in Windows. Alcune versioni di Windows riportano l’orologio hardware a localtime se sono impostate per sincronizzare l’ora online. Questo problema sembra essere risolto in Windows 10.
- Non consigliato: Impostare Arch Linux su localtime e disabilitare tutti i demoni di sincronizzazione dell’ora. Questo lascerà che Windows si prenda cura delle correzioni dell’orologio hardware e dovrete ricordarvi di avviare Windows almeno due volte all’anno (in primavera e in autunno) quando entra in funzione il DST. Quindi per favore non chiedete sui forum perché l’orologio è un’ora indietro o avanti se di solito andate per giorni o settimane senza avviare Windows.
Vedi anche
- Avvio di Windows da un collegamento sul desktop
- Avvio in una partizione di Windows da un collegamento sul desktop
- Utilità di masterizzazione ISO di Windows 7/8/8.1/10 su unità flash per Linux (MBR/GPT, BIOS/UEFI, FAT32/NTFS)