web-dev-qa-db-ja.com

LinuxからWindows 7 USBフラッシュインストールメディアを作成する方法

私が持っています:

  • ISOイメージ Windows 7インストールメディア
  • 4 GB USBフラッシュドライブ
  • dVDドライブなし
  • Linuxがインストールされている
106
Ian Kelling

わかりました。ここで説明したすべての方法を試すことに失敗した後、ようやく機能しました。基本的に、足りないステップは、適切なブートセクターをUSBスティックに書き込むことでした。これは、Linuxからms-sysまたはlilo -M。これは、Windows 7製品版で動作します。

ここに再び完全な要約があります:

Ms-sysをインストールします-リポジトリにない場合は、入手してください here 。または、liloがインストールされていることを確認してください(ただし、インストールしないでくださいたとえば、Grubがそこにインストールされている場合は、ローカルボックスでliloconfigステップを実行してください!)

USBメディアが割り当てられているデバイスを確認します-ここでは/dev/sdb。すべてのパーティションを削除し、すべてのスペースを占める新しいパーティションを作成し、タイプをNTFS(7)に設定し、必ず起動可能に設定してください。

# cfdisk /dev/sdbまたはfdisk /dev/sdb(パーティションタイプ7、およびbootableフラグ)

NTFSファイルシステムを作成します。

# mkfs.ntfs -f /dev/sdb1

Windows 7に書き込む [〜#〜] mbr [〜#〜] USBスティック上(Windows 8でも機能)、ここに複数のオプション:

  1. # ms-sys -7 /dev/sdb
  2. または(たとえば、新しいUbuntuインストールの場合)Sudo lilo -M /dev/sdb mbr情報
  3. または(syslinuxがインストールされている場合)、Sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb

ISOおよびUSBメディアをマウントします。

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

すべてのファイルをコピー:

# cp -r /mnt/iso/* /mnt/usb/...または、システムの標準GUIファイルブラウザを使用します

syncを呼び出して、すべてのファイルが書き込まれていることを確認します。

Gpartedを開き、USBドライブを選択し、ファイルシステムを右クリックして、[フラグの管理]をクリックします。起動チェックボックスをチェックして閉じます。

...これで完了です。

その後、USBメディアをバックアップして、追加のインストールを行い、ISOファイルを削除します。ddを使用するだけです:# dd if=/dev/sdb of=win7.img

注、これはデバイス全体をコピーします! —これは通常、コピー先のファイルよりも(はるかに)大きいです。代わりに私は提案します

# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img

したがって、たとえば8 Mの余分なバイトがあるとします。

# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress

いつものように、ddを使用するときは、デバイス名を慎重に再確認してください。

上記の起動可能なUSBを作成する方法は、Win10インストーラーisoでも機能します。 Ubuntu 16.04を実行してWin10_1703_SingleLang_English_x64.iso(サイズ4,241,291,264バイト)を8 GBのUSBスティックにコピーしてみました—非UEFI [非セキュア]ブートでのみ。実行後のddレポート:8300156 + 0レコードの8300156 + 0レコード、4249679872バイト(4.2 GB、4.0 GiB)コピー、412.807秒、10.3 MB /秒

次回Windows 7インストーラーをUSBに接続する場合は、逆にします。

183
jthurner

PCがUEFIをサポートしている場合は、ddを使用してこれを実現できます。拡張すると、GPTディスクを使用できます。

ターミナルを開きます。ペンドライブがどのデバイスであるかを見つける必要があります。ドライブがマウントされている場合は、「mount」と入力してそのエントリを確認すると、デバイスの名前を見つけることができます。次のようなもの:

/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)

この場合、/ dev/sdbの最初のパーティションは/ media/USBDISKにマウントされます。ルートシェルを開き、ドライブをアンマウントします。

umount /dev/sdb1

ISOがルートシェルに保存されているディレクトリに移動し、次のように入力します(windows7.isoを、呼び出されたisoに置き換え、/ dev/sdbをUSBスティックのデバイスIDに置き換えます)。

dd if=windows7.iso of=/dev/sdb

マザーボードがペンドライブからの起動をサポートしている場合、それはそれから起動できるはずです。これにより、OS自体ではなくペンドライブ上のインストーラーが取得されます。

13
TrueDuality

PCambellの提案は良いですが、MBRをクリアすることもできます。これに相当するLinuxは次のとおりです。

私はこれを試してみましたが、うまくいきました(ddメソッドが失敗した理由はわかりませんが、パーティションをntfsにする必要があるようです)。

  • どの/ dev/deviceがあなたのusbフラッシュドライブであるかを調べ、それをアンマウントします
  • mBRをクリアします。ddif =/dev/zero of =/dev/device bs = 446 count = 1
  • fdisk/dev/deviceを実行します
  • すべてのパーティションを削除して1つのプライマリパーティションを作成し、ブート可能にして変更を保存します
  • mkfs.ntfs/dev/device1(パーティション1)を実行します。
  • windowsインストールISOの内容全体を、作成したパーティションにコピーします
5
Raymond