Soluzione 1:
OK, dopo aver provato senza successo tutti i metodi menzionati qui, ho finalmente funzionato. Fondamentalmente, il passaggio mancante era scrivere un settore di avvio adeguato sulla chiavetta USB, cosa che può essere eseguita da Linux con ms-sys
o lilo -M
. Funziona con la versione finale di Windows 7.
Ecco di nuovo il resoconto completo:
Installa ms-sys:se non è nei tuoi repository, scaricalo qui. O in alternativa, assicurati che lilo sia installato (ma non esegui il passaggio liloconfig sulla tua casella locale se ad es. Grub è installato lì!)
Controlla a quale dispositivo è assegnato il tuo supporto USB - qui assumeremo che sia /dev/sdb
. Elimina tutte le partizioni, creane una nuova occupando tutto lo spazio, imposta il tipo su NTFS (7) e ricorda di impostarlo avviabile:
# cfdisk /dev/sdb
o fdisk /dev/sdb
(partizione tipo 7 e avviabile bandiera)
Crea un filesystem NTFS:
# mkfs.ntfs -f /dev/sdb1
Scrivi Windows 7 MBR sulla chiavetta USB (funziona anche per Windows 8), più opzioni qui:
# ms-sys -7 /dev/sdb
- o (ad es. nelle nuove installazioni di Ubuntu)
sudo lilo -M /dev/sdb mbr
(informazioni) - oppure (se syslinux è installato), puoi eseguire
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Monta supporti ISO e USB:
# mount -o loop win7.iso /mnt/iso # mount /dev/sdb1 /mnt/usb
Copia su tutti i file:
# cp -r /mnt/iso/* /mnt/usb/
...oppure usa il browser di file GUI standard del tuo sistema
Chiama sync
per assicurarsi che tutti i file vengano scritti.
Apri gparted, seleziona l'unità USB, fai clic con il pulsante destro del mouse sul file system, quindi fai clic su "Gestisci flag". Seleziona la casella di controllo di avvio, quindi chiudi.
...e il gioco è fatto.
Dopo tutto ciò, probabilmente vorrai eseguire il backup del tuo supporto USB per ulteriori installazioni e sbarazzarti del file ISO... Basta usare dd:# dd if=/dev/sdb of=win7.img
Nota, questo copia l'intero dispositivo! - che di solito è (molto) più grande dei file copiati su di esso. Quindi, invece, propongo
# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img
Così, ad esempio, con 8 M byte in più:
# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress
Come sempre, controlla attentamente i nomi dei dispositivi quando lavori con dd
.
Il metodo di creazione di un USB avviabile presentato sopra funziona anche con iso del programma di installazione di Win10. L'ho provato eseguendo Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (dimensioni 4.241.291.264 byte) su una chiavetta USB da 8 GB, solo in avvio non UEFI [non sicuro]. Dopo l'esecuzione dd report:8300156+0 record in ingresso8300156+0 record in uscita4249679872 byte (4,2 GB, 4,0 GiB) copiati, 412,807 s, 10,3 MB/s
Inverti se/della prossima volta che vuoi mettere il programma di installazione di Windows 7 su USB.
Soluzione 2:
Puoi farlo con dd, se il tuo PC supporta UEFI e, per estensione, i dischi GPT.
Apri un terminale, dovrai trovare quale dispositivo è il tuo pendrive. Se hai montato l'unità, puoi trovare il nome del dispositivo digitando "mount" e osservando la sua voce. Qualcosa di simile al seguente:
/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)
In questo caso la prima partizione di /dev/sdb è montata su /media/USBDISK. Apri una shell di root e smonta l'unità.
umount /dev/sdb1
Vai alla directory in cui è archiviata la tua ISO in una root shell e digita quanto segue:(Sostituisci windows7.iso con qualunque sia il nome dell'iso e /dev/sdb con l'id del dispositivo della tua chiavetta USB).
dd if=windows7.iso of=/dev/sdb
Se la tua scheda madre supporta l'avvio da un pendrive, dovrebbe essere in grado di avviarlo. Questo porterà il programma di installazione sulla pendrive e non il sistema operativo stesso.
Soluzione 3:
Il suggerimento di PCambell è buono ma vorrai anche cancellare l'MBR, l'equivalente Linux è sotto
Ho provato questo e ha funzionato (non sono sicuro del motivo per cui il metodo dd non è riuscito ma sembra che la partizione dovesse essere ntfs?):
- determina quale /dev/device è la tua chiavetta USB e smontala
- cancella l'MBR:dd if=/dev/zero of=/dev/device bs=446 count=1
- esegui fdisk /dev/device
- rimuovi tutte le partizioni e crea 1 partizione primaria, rendila avviabile e salva le modifiche
- esegui mkfs.ntfs /dev/device1 (partizione 1)
- copia l'intero contenuto dell'iso di installazione di Windows nella partizione che hai creato