Які труднощі у створенні завантажувального USB-накопичувача Windows 7 з Linux з ms-sys або dd?


9

Я читав деякі веб-сторінки та публікації (тут та на інших форумах) про те, як створити інсталяційний USB-носій Windows 7 з Linux (щоб встановити Windows 7)

Я запитав у TechNet про це, і я отримав відповідь із загальною інформацією про те, як це зробити:

"Я особисто не дуже добре знайомий з Linux, але в основному все, що вам потрібно зробити ... будь-яким способом ви це робите, це наступне:

  1. Відформатуйте флеш-накопичувач usb, або fat32, або ntfs, створіть достатньо великий розділ, щоб розмістити встановлення Windows (надайте або візьміть 3 Гб на 64-бітну, близько 32 ГБ для 32-бітну) і позначте цей розділ як активний / завантажувальний. Оскільки це можна зробити з Windows, але так само добре з таким інструментом, як gparted, ви повинні мати можливість робити те ж саме в debian.

  2. Після того як ви створили цей розділ, встановіть завантажувану iso та скопіюйте всі файли, починаючи з кореня, у корінь флеш-пам’яті usb.

Це все, що там є ».

Я знайшов інший метод у різних місцях, тобто майже той самий, що згадувався в TechNet. Однак, мабуть, у цьому методі відсутній крок та / або крок, який я не впевнений, необхідний.

ddне завжди працює. В основному, пропущеним кроком було написання належного завантажувального сектору на USB-накопичувач, що можна зробити з Linux з ms-sys. Це працює з роздрібною версією Windows 7.

Ось повний час завершення, див. Питання сервера за замовчуванням для більш детальної інформації:

  1. Встановіть ms-sys .
  2. Перевірте, якому пристрою призначений ваш носій USB ( fdisk -l), тут ми будемо вважати, що він є /dev/sdb.
  3. Видаліть усі розділи, створіть новий, зайнявши весь простір, встановіть тип NTFS та встановіть його для завантаження:

    cfdisk /dev/sdb

  4. Створіть файлову систему NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. Підключіть iso та usb-носії:

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

  6. Скопіюйте всі файли:

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

  7. Напишіть Windows 7 MBR на USB-накопичувач:

    # ms-sys -7 /dev/sdb

  8. Переконайтеся, що запис розмито (будьте терплячі, це може зайняти кілька хвилин):

    # sync

  9. відкрийте gparted, виберіть USB-накопичувач, клацніть правою кнопкою миші на файловій системі, а потім натисніть "Manage Flags". Установіть прапорець "завантаження", а потім закрийте

... і ви закінчили.

Запитання

  • Не повинен usb працювати без останнього кроку # ms-sys -7 /dev/sdb? Або це зробити завантаження usb? Чи потрібно лише позначити розділ як завантажувальний?

  • Не було б краще використовувати rsync замість cp -r?

  • Чи всі ці кроки потрібно робити так, як root? Якщо ні, чи потрібні мені chmodвсі файли 664та chownвсі каталоги, які використовуються для монтажу USB-пристрою та ISO-зображення? Я припускаю, що просто скопіювати дані так, як rootвони не впливають на дані.

  • Хтось пробував цей метод чи щось подібне, як, наприклад, копіювання ізо з dd?


Я використовував dd з iso, хоча не для Windows 7. Ви можете перевірити, чи працює це: superuser.com/questions/591234/…
xsdf

Відповіді:


1

ms-sysКоманда має важливе значення. Завдяки цій -7опції він створює на вашій флешці завантажувальний сектор, сумісний з Windows 7 .

Ви не можете використовувати dd, оскільки ISO використовує файлову систему ISO, таку як UDF або ISO9660 , де ваш USB-привід лише належним чином підтримує файлові дискові файли, такі як ext3, FAT32 або NTFS

Краще використовувати rsync замість cp -r?

Не зовсім. cp -rпрацює прекрасно. Просто зрозумійте, що NTFS по-різному обробляє дозволи для Linux, тому використання rsync для збереження всього недоторканим не має великого значення. Все, що насправді має значення, - це те, що файли з ISO знаходяться на USB, і що сектор завантаження правильно відформатований за допомогоюms-sys -7

Ви можете виконати всі кроки як корінь, якщо хочете. Єдині 2 кроків , які дійсно вимагають кореня mkfsі 2 mount«s

Якщо у вас виникають проблеми з дозволом навіть як root, можливо, вам потрібно буде встановити USB, використовуючи, ntfs-3g /dev/sdb1оскільки деякі дистрибутиви Linux постачають тільки драйвер для читання лише для NTFS.


1

Я намагався з dd (dd, якщо = / file / win7.iso of = / dev / sdb), і це не працює.

Мої кроки, щоб зробити це:

  • Встановіть ms-sys
  • gparted для створення розділу та створення файлової системи NTFS.

Після цього застосуйте ці команди:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.