疑似コードですが、元々は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
以下のフィールドの一部は、ISOファイルで変更されています。dd
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を起動するとエラーが発生しました0xC0000428Windowsのアップデートでまたもや不具合が発生し、Windowsを普段はほとんど使用していないため、起動可能なメディアを作成するための予備のWindowsが残っていない。
答え1
私は、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 を作成しようとしました。
Windows 10 では absolute は使用dd
できません。これは 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 などの前提条件をすべてインストールする必要があります。
また、プロセスの最後に、woeusb を sudo で実行する必要があることがわかりました。そのため、次のようにします。
sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX
すると、なんと、見事に動作しました。私の場合は、ハードディスク/dev/sda
と USB ドライブがそこにあったので/dev/sdb
、そこに ISO を書き込みました/dev/sdb
(繰り返しますが、OS を誤って上書きしないように注意してください)。次に、2TB のハードディスクが接続された軍用クラスの MSI マザーボードにインストールし、BIOS 内に高速ブート オプションがない状態で、そのまま動作しました。まず、すべての UEFI オプションをオンにして、正しい状態にしました。
インストール時にも問題が発生しました。ログインに Gmail のメール アカウントを使用した場合や、マシンの 2 回目の再起動 (インストール プロセス中) 時にインターネット ケーブルが接続された場合に、システムが永久にハングアップしました。この問題が発生した場合は、インターネットを切断し、マシンを再起動し、汎用アカウントを作成させてからログインし、インターネット ケーブルで再起動してください。
答え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 から抽出されたコンテンツが含まれるサブディレクトリです。
重要なポイントは、Windows 10 ISO のサブディレクトリetfsboot.com
からのようです。boot/
書き込んだディスクは問題なくレガシー/CSM で起動できます。
私はWin10のバージョン1511でのみ試しました。他のバージョンで試した場合は、コメントを残してください。
答え3
UEFI ベースのコンピューターを起動する場合は、Windows ISO (UDF 形式の ISO であることに注意してください) をマウントし、すべてのファイルを USB ドライブにコピーするだけです。ドライブが FAT32 形式である限り、UEFI コンピューターはそれを認識し、そこから起動するオプションを提供します。
一方、BIOS ベースのマシンの場合、最良のオプションは、Windows ブートをチェーンロードするように syslinux を手動で構成することです。私はこれを Windows 8 で試しましたが、10 ではまだ試していません。USB/dev/sdf
ドライブです。
- 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
ファイルをUSBのディレクトリ/usr/lib/syslinux/bios
にコピーします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
答え4
この場合に私が見つけた唯一の信頼できる解決策。Windows で起動可能な Windows を作成します。