web-dev-qa-db-ja.com

Debianで起動可能なWindows 10イメージを作成する方法は?

疑似コードですが、もともとはWindows 7 isoファイル用に開発されましたが、スレッドでWindows 8に適用されました Linuxで起動可能なWindows 8 isoイメージを作成する方法 しかし、Windows 10 isoでは機能しません

# https://rwmj.wordpress.com/2010/11/04/customizing-a-windows-7-install-iso/
# https://unix.stackexchange.com/a/312477/16920
$ dd if=../en_windows_10_x64_dvd.iso \
    of=boot.img bs=2048 count=8 skip=734

$ mkisofs -o ../new-win.iso -b boot.img -no-emul-boot -c BOOT.CAT \
    -iso-level 2 -udf \
    -J -l -D -N -joliet-long -relaxed-filenames .

Windows 10イメージで実行すると失敗した出力

dd if=/home/masi/Downloads/en_windows_10_multiple_editions_version_1511_x64_dvd.iso of=/home/masi/Downloads/boot.img bs=2048 count=8 skip=734
8+0 records in
8+0 records out
16384 bytes (16 kB) copied, 0.000392973 s, 41.7 MB/s 

ddで使用されるisoファイルの次のフィールドの一部が変更されました

  • bs=2048
  • count=8
  • skip=734

Windows 10 ISOに使用できるフィールド値を調べるにはどうすればよいですか?

OS:Debian 8.5 64ビット
ハードウェア:Asus Zenbook UX303UA
Linuxカーネル:バックポート4.6
関連スレッド: Linuxで起動可能なWindows 7 isoイメージを作成する方法Windows 7インストールISOのカスタマイズ
動機:Canon P-150両面スキャナーを使用するにはWindows 10が必要ですが、Windowsを起動すると、エラー0xC0000428が発生しました。 Windowsの更新で問題が発生したため、Windowsを使用することはほとんどありません。ブータブルメディアを作成するための予備のWindowsが残っていません

私がこのケースで見つけた唯一の信頼できる解決策。 Windowsで起動可能なWindowsを作成します。

WindowsマシンでMicrosoftによって記述されたWin7ソリューションを試しました。

https://www.Microsoft.com/en-us/download/windows-usb-dvd-download-tool

そして得た

0x80080005エラー

そこで、Debian Stretch 9に行き、e5.onthehub.comのカレッジ/スクールISOを使用してWindows 10の起動可能なUSBを構築しようとしました。

ddの使用は、Windows 10ではまったく機能しません。これは、Linux OSでのみ機能します。使用する:

dd if=my-linux-os.iso of=/dev/sdX bs=4M

注:/dev/sdX1への書き込みは絶対に行わないでください。X={a,b,c or d}は、ハードディスクが通常/dev/sdaまたは/dev/sdbに上書きされていないことを常に確認してください。

Windows 10ではWoeUSBを使用できますが、apt/yumリポジトリからは使用できません。これらは少なくともDebian 9では廃止されているため、代わりに以下を使用してください。

git clone https://github.com/slacka/WoeUSB.git

次に、最後の手順に従います。

https://github.com/slacka/WoeUSB

最初に、gpartedなどのすべての前提条件をインストールしておく必要があります。

プロセスの最後に、sudoでwoeusbを実行する必要があることもわかりました。だからあなたはただ使う:

Sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX

ちょっとプレストそれは見事に動作します。私の場合、私のハードディスクは/dev/sdaで、USBドライブは/dev/sdbでしたので、ISOを/dev/sdbに書き込みました(ここでも、誤ってOSを上書きしないように注意してください)。次に、2 TBのハードディスクが接続されたミリタリークラスのMSIマザーボードにインストールしました。BIOS内に高速ブートオプションはありませんが、正常に機能します。正しい状態にするために、最初にすべてのUEFIオプションをオンにしました。

また、インストール時に問題がありました。ログインにGmailのメールアカウントを使用するとシステムが永久にハングし、マシンの2回目の再起動時に(インストールプロセス中に)インターネットケーブルが接続されました。この問題が発生した場合は、インターネットを切断し、マシンを再起動して、一般的なアカウントを作成し、ログインして、インターネットケーブルで再起動してください

4
Eamonn Kenny

これは、レガシー/ CSMブートでも動作しました(Ubuntu 16.04、Windows 10バージョン1511 32ビット。mkisofsの代わりにgenisoimageを使用することもできます。mkisofsは単なるシンボリックリンクです)。

mkisofs \
  -no-emul-boot \
  -b boot/etfsboot.com \
  -boot-load-seg 0x07C0 \
  -boot-load-size 8 \
  -iso-level 2 \
  -udf \
  -joliet \
  -D \
  -N \
  -relaxed-filenames \
  -o win10-1511-32bit-mod1.iso \
  files/

(1つの長い行、行継続のために最後にバックスラッシュを付けたbashで)

どこ files/は、Windows 10 ISOの抽出されたコンテンツを含むサブディレクトリです。

重要な点はetfsboot.com から boot/ Windows 10 ISOのサブディレクトリ。

書き込んだディスクをレガシー/ CSMで問題なく起動できます。

私はwin11の1511バージョンでのみ試してみました。他のバージョンで試す場合は、コメントを残してください。

2
bluefire81

FAT32は2018 MSイメージを見つけるのが難しいために機能しているだけで、exfatは面倒です。うまくいかなかった複雑なハウツーをたくさん試した後、この2ステップのソリューションは成功しました:

  1. Usb-deviceにntfs-partionを作成します。
  2. woeusb-パーティションWin10_1909_Norwegian_x64.iso/dev/sdX1

woeusbを動作させるために、woeusbとgrub2をインストールしました。 Grub2はこれの回避策です:grub2-install:エラー:/usr/lib/grub/i386-pc/modinfo.shは存在しません。 --targetまたは--directoryを指定してください。 Woeusbは、正しいディレクトリを見つけるように書き直す必要があると思います。私のシステムには、grub2-efiパッケージのファイル/usr/lib/grub/x86_64-efi/modinfo.shがありました。

1
Amund

UEFIベースのコンピューターを起動する場合は、Windows ISOをマウントし(UDFフォーマットのISOであることに注意してください)、すべてのファイルをUSBドライブにコピーします。ドライブがFAT32形式である限り、UEFIコンピューターはそれを認識し、そこから起動するオプションを提供します。

一方、BIOSベースのマシンでは、Windowsブートをチェーンロードするようにsyslinuxを手動で構成するのが最善の方法です。私はこれをWindows 8で試しましたが、10ではまだ試していません。/dev/sdfはUSBドライブです。

  • USBをFAT32にフォーマットする
  • USBにパーティションが1つだけあり、ブートがアクティブであることを確認します(GPartedがこれに役立ちます)
  • ISOからUSBドライブにすべてのファイルをコピーする
  • Linuxシステムにsyslinuxをインストールする
  • syslinux -i /dev/sdf1を実行します(USBドライブの最初のパーティション、lsblkで確認できます)
  • dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4Mを実行します
  • USBドライブをマウントし、ディレクトリboot/syslinuxを作成します
  • すべての*.c32ファイルを/usr/lib/syslinux/biosからUSBのboot/syslinuxディレクトリにコピーします
  • syslinux.cfgboot/syslinuxテキストファイルを作成し、テキスト

    LABEL win10
    MENU LABEL Boot Windows 10 install
    COM32 /boot/syslinux/chain.c32
    APPEND label=win7fs ntldr=/bootmgr
    

編集:Debianがsyslinuxファイルをどこに置くかわかりません。 find / -name "mbr.bin" 2> /dev/nullで見つけることができます

1
user645644