疑似コードですが、もともとは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回目の再起動時に(インストールプロセス中に)インターネットケーブルが接続されました。この問題が発生した場合は、インターネットを切断し、マシンを再起動して、一般的なアカウントを作成し、ログインして、インターネットケーブルで再起動してください
これは、レガシー/ 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バージョンでのみ試してみました。他のバージョンで試す場合は、コメントを残してください。
FAT32は2018 MSイメージを見つけるのが難しいために機能しているだけで、exfatは面倒です。うまくいかなかった複雑なハウツーをたくさん試した後、この2ステップのソリューションは成功しました:
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がありました。
UEFIベースのコンピューターを起動する場合は、Windows ISOをマウントし(UDFフォーマットのISOであることに注意してください)、すべてのファイルをUSBドライブにコピーします。ドライブがFAT32形式である限り、UEFIコンピューターはそれを認識し、そこから起動するオプションを提供します。
一方、BIOSベースのマシンでは、Windowsブートをチェーンロードするようにsyslinuxを手動で構成するのが最善の方法です。私はこれをWindows 8で試しましたが、10ではまだ試していません。/dev/sdf
はUSBドライブです。
syslinux -i /dev/sdf1
を実行します(USBドライブの最初のパーティション、lsblk
で確認できます)dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4M
を実行しますboot/syslinux
を作成します*.c32
ファイルを/usr/lib/syslinux/bios
からUSBのboot/syslinux
ディレクトリにコピーしますsyslinux.cfg
にboot/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
で見つけることができます