Quali sono i fastidi della creazione di un'unità USB di Windows 7 avviabile da Linux con ms-sys o dd?


9

Ho letto alcune pagine Web e post (qui e in altri forum) su come creare un supporto USB di installazione di Windows 7 da Linux (per installare Windows 7)

Ho chiesto a TechNet di questo e ho ricevuto una risposta con informazioni generali su come farlo:

"Personalmente non ho molta familiarità con Linux, ma praticamente tutto quello che devi fare ... in qualunque modo lo faccia è il seguente:

  1. Formatta un'unità flash USB, fat32 o ntfs creano una partizione sufficientemente grande da ospitare l'installazione di Windows (dai o prendi 3 GB per 64 bit, intorno a 2,5 GB per 32 bit) e contrassegna quella partizione come attiva / avviabile. Dal momento che questo può essere fatto con Windows, ma anche con uno strumento come gparted, dovresti essere in grado di fare lo stesso in Debian.

  2. Dopo aver creato quella partizione, monta gli iso che scarichi e copia tutti i file a partire dalla radice, nella radice dell'unità flash USB.

Questo è tutto quello che c'è da fare. "

Ho trovato un altro metodo in vari luoghi, che è quasi lo stesso di quello che è stato menzionato in TechNet. Tuttavia, sembra esserci un passaggio mancante in questo metodo e / o un passaggio che non sono sicuro sia necessario.

ddnon sempre funziona. Fondamentalmente, il passo mancante era scrivere un settore di avvio adeguato sulla chiavetta USB, che può essere fatto da Linux con ms-sys. Funziona con la versione commerciale di Windows 7.

Ecco la carrellata completa, vedi la domanda serverfault per maggiori dettagli:

  1. Installa ms-sys .
  2. Controlla quale dispositivo è assegnato al tuo dispositivo USB ( fdisk -l) qui supponiamo che sia /dev/sdb.
  3. Elimina tutte le partizioni, creane una nuova occupando tutto lo spazio, imposta il tipo su NTFS e impostalo come avviabile:

    cfdisk /dev/sdb

  4. Crea filesystem NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. Montare supporti ISO e USB:

    mount -o loop win7.iso /mnt/iso
    mount /dev/sdb1 /mnt/usb

  6. Copia su tutti i file:

    # cp -r /mnt/iso/* /mnt/usb/

  7. Scrivi Windows 7 MBR su chiavetta USB:

    # ms-sys -7 /dev/sdb

  8. Assicurati che la scrittura sia arrossata (attendi, potrebbero volerci alcuni minuti):

    # sync

  9. apri gparted, seleziona l'unità USB, fai clic con il pulsante destro del mouse sul file system, quindi fai clic su "Gestisci bandiere". Seleziona la casella di controllo "avvio", quindi chiudi

...e hai finito.

Domande

  • L'USB non dovrebbe funzionare senza fare l'ultimo passo # ms-sys -7 /dev/sdb? O è per rendere l'avvio USB? Contrassegna solo la partizione come avviabile?

  • Non sarebbe meglio usare rsync invece di cp -r?

  • Tutti questi passaggi devono essere eseguiti come root? In caso contrario, devo disporre di chmodtutti i file 664e di chowntutte le directory utilizzate per montare il dispositivo USB e l'immagine ISO? Suppongo che sia più semplice copiare i dati in rootquanto non influisce sui dati.

  • Qualcuno ha provato questo metodo o qualcosa di simile come copiare l'iso con dd?


Ho usato dd con un iso anche se non per Windows 7. Puoi verificare se funziona: superuser.com/questions/591234/…
xsdf

Risposte:


1

Il ms-syscomando è importante. Con l' -7opzione crea un settore di avvio compatibile con Windows 7 sull'unità flash.

Non puoi usare dd perché gli ISO usano un filesystem ISO come UDF o ISO9660 , dove l'unità USB supporta correttamente solo i file system su disco come ext3, FAT32 o NTFS

Sarebbe meglio usare rsync invece di cp -r?

Non proprio. cp -rfunziona perfettamente. Basta capire che NTFS gestisce le autorizzazioni in modo diverso rispetto a Linux, quindi usare rsync per mantenere tutto intatto non ha importanza. Tutto ciò che conta davvero è che i file ISO siano sull'USB e che il settore di avvio sia formattato correttamente usandoms-sys -7

Se lo desideri, puoi eseguire tutti i passaggi come root. Gli unici 2 punti che realmente necessitano di radice sono mkfse le 2 mounts'

Se riscontri problemi di autorizzazione anche come root, potresti dover montare la tua USB usando ntfs-3g /dev/sdb1alcune distribuzioni Linux che forniscono solo un driver di sola lettura per NTFS.


1

Ho provato con dd (dd if = / file / win7.iso di = / dev / sdb) e non funziona.

I miei passi per farlo funzionare:

  • Installa ms-sys
  • gparted per creare partizioni e creare filesystem NTFS.

Successivamente applica questi comandi:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.