Guardate l’immagine che ripubblichiamo di seguito: non trovate qualcosa di strano? Oltre alle varie edizioni di Windows 10, la procedura d’installazione del sistema operativo Microsoft offre la possibilità di installare Alpine Linux, una distribuzione leggera e sicura, progettata principalmente per l’efficienza, la sicurezza e la semplicità. Com’è possibile?
Diciamo subito che, ovviamente, quella rappresentata in figura non è e non può essere la procedura d’installazione ufficiale Microsoft. Uno sviluppatore indipendente ha voluto modificarla, più per esercizio di stile che per effettiva valenza pratica, al fine di consentire non solo l’installazione delle classiche edizioni di Windows ma anche di una distro del pinguino.
Caricare Alpine Linux attraverso l’installazione di Windows: alcune precisazioni importanti
L’autore dell'”impresa”, ovvero dell’aggiunta di un riferimento ad Alpine Linux nell’installazione di Windows, precisa che l’installer è estremamente fragile. La procedura utilizzata è piuttosto specifica e dipende dalla particolare condizione dell’hard disk, come la presenza di una partizione NTFS vuota prima dell’intervento del setup di Windows. Qualsiasi variazione nella disposizione delle partizioni potrebbe compromettere il funzionamento dell’installazione.
Come accenniamo più avanti, il processo di generazione dell’immagine in formato WIM, inoltre, non conserva i permessi dei file UNIX. Ciò significa che, sebbene Linux si avvii correttamente, sarà necessario correggere manualmente i permessi di tutti i file ad installazione avvenuta.
Anche le modifiche applicate al bootloader GRUB potrebbero essere instabili: non è detto che “sopravvivano” a un aggiornamento del software. In altre parole, non si esclude che in tempi successivi possano presentarsi problemi con l’avvio della distribuzione Linux.
Il ricercatore sottolinea che utilizzare NTFS come filesystem per la gestione della directory root di Linux può comportare alcuni inconvenienti. Ad esempio, l’eventuale impostazione di un dirty bit può di fatto rendere impossibile l’utilizzo del sistema, almeno fino a quando tale bit non viene rimosso. Il dirty bit è un flag, un indicatore di stato, utilizzato nel caso di NTFS per indicare che il file system potrebbe essere stato montato in modo non corretto o che potrebbero esserci dati incoerenti sul disco.
Alpine Linux si installa dal setup di Windows: ma è una procedura complessa e creativa
Per fare in modo di poter installare una distro Linux dall’installer di Windows 10, il ricercatore ha scelto una distribuzione come Alpine Linux che consente il caricamento su partizioni NTFS montate manualmente, senza porre ulteriori domande. È un comportamento che accomuna alcune distro, come ad esempio anche Arch Linux.
Come spiegato nell’articolo How to install Linux from a Windows installer, Naman Sood fa presente di aver usato il seguente schema di partizionamento:
- La prima partizione è una partizione EFI di circa 100 MB, formattata in FAT32 e montata su
/boot
. - La seconda partizione da 16 MB ed è utilizzata solo per adattare la struttura dello schema di partizionamento.
- La terza partizione è il file system root, che occupa il resto del disco ed è formattato in NTFS, montato su / con le opzioni ntfs3, acl e windows_names.
Il ricercatore ha inserito l’immagine della distribuzione Linux come file WIM (Windows Image) come parte integrante della ISO di Windows. L’operazione è fattibile ricorrendo allo strumento Microsoft DISM (Deployment Image Service and Management).
La strategia adottata consiste nell’installare una copia dell’ambiente di pre-installazione di Windows (WinPE) nella rootfs di Linux, all’interno della stessa immagine WIM. Successivamente, si fa in modo che WinPE renda avviabile Linux e consenta il boot da tale sistema operativo.
Avviare Linux da WinPE: la soluzione utilizzata
WinPE, versione abbreviata di Windows PE e acronimo di Windows Preinstallation Environment, è un ambiente leggero fornito da Microsoft. È utilizzato principalmente per la preparazione e l’installazione di Windows sui nuovi computer, ma può anche essere utilizzato per la diagnosi e il ripristino del sistema operativo già installato sulla macchina.
In un altro articolo abbiamo visto come si può creare un supporto Windows PE per avviare il sistema in ogni situazione, anche quando la copia di Windows installata non ne vuole sapere di caricarsi.
Per rendere Linux avviabile da WinPE, il ricercatore ha semplicemente inserito i file presenti nella partizione EFI di Linux (/boot
) all’interno della partizione EFI di WinPE. Inoltre, è stato necessario modificare l’installazione di WinPE per rimuovere l’avvio predefinito di Windows e consentire il boot da Linux.
Ovviamente, la procedura che abbiamo sin qui riassunto, si articola lungo una serie di passaggi tecnici davvero “creativi”. Se si volesse provare la “ricetta” proposta da Sood, essa va comunque intesa come assolutamente sperimentale, perché complessa, fragile e non convenzionale.
Credit immagine in apertura: Copilot Designer.