DDコマンドラインツールを使用してUSBスティックにMBRを作成する方法


16

さて、Lionを実行しているMacからUSBキーで起動可能なWindows7イメージを作成しようとしています。私の画像は.iso形式です。私は試した:

sudo dd if=/Users/myusername/Win7.iso of=/dev/disk1 bs=1m

そして、これはファイルの書き込みに成功しました。ただし、MacのDISK UTILITYを除き、パーティションタイプは「Master Boor Record」ではなくGUIDパーティションテーブルとして表示されます。Vistaコンピューターでキーを起動すると、「USBデバイスにブートセクターがありません」というエラーが表示される

私が知ることができることから、DDコマンドのbs = 1mはブートセクタ用に1メガバイトを残しているはずですが、何らかの理由でUSBキーのこの領域が正しく設定されていないため起動します

どうすればこれを修正できますか、またはddを使用して起動可能なCDイメージを書き込み、現在は起動可能なUSBドライブにすることができますか?

注:私が読んだ指示では、DDを使用する前にWin7.isoの名前をWin7.dmgに変更することを推奨しましたが、これは私にはまったく意味がありませんでした。今すぐそのステップで試すことができますが、USBドライブにイメージを書き込むのに1.99時間かかります。そのため、ここで試行錯誤することには大きなペナルティがあります。ありがとうございました。


.isoファイルに有効なブートセクターがあることを確認しましたか?ブータブルCDから直接リッピングした場合、CDには2048バイトのセクターがあり、ほとんどのフラッシュドライブには512バイトのセクターがあるため、何かがおかしいかもしれません。
ローレンス

ご参考までに。DDは、ファイルを隠してコピーするユーティリティです。パーティションテーブルやブートセクタについては何も知りません。bs = 1mは、一度に最大1メガバイトの読み取りと書き込みを意味します。ドライブの前にスペースを残したい場合は、seek = BLOCKSを使用します。ブロック=セクタサイズデフォルト512に
マットH

@MattH「FYI。DDは、ファイルを隠してコピーするユーティリティです」と書きました。<---それはまったく間違っており、あなたはそれを知っています。そして、それが知っていることに関しては、「パーティションテーブルについて何も知らない」と言うでしょう。ファイルではなく、パーティションまたはハードドライブ全体から未加工バイトをコピーすることです。そして、コピーされるものにはファイルを含めることができ、(i; mは専門家ではありませんが)パーティションテーブルが含まれると思います。
-barlop

ddは、cd isoをusb用の画像に変換する適切なツールのようには聞こえません。win7 isoをUSBに入れる方法はたくさんありますが、ddはそのうちの1つではないと思います!少なくとも誰も通常は使用しません!dd / ddrescueは、2つの同一のハードドライブがあり、一方をもう一方にコピーする場合に適しています。または、ハードドライブにエラーがあり、他のイメージングソフトウェアが失敗したときにそのイメージを作成したい場合。
-barlop

@barlop-dd man page-「オペランドに従ってファイルをコピー、変換およびフォーマットします。」
マットH

回答:


7

ディスクユーティリティオプションを使用して、ddを実行する前にパーティションタイプをマスターブートレコードに設定します。

ここに画像の説明を入力してください ここに画像の説明を入力してください


4
これは失敗しました。スクリーンショットに描かれている設定を知っていましたが、最初にこれを実行してからDDを実行しても、結果のイメージはまだブートセクターを検出していませんでした。DDコマンドは、とにかくディスクutilが行うことをすべて破棄しているように見えます。非常に低レベルのrawモードで書き込みを行っているようです。私はこれがうまくいけばいいのに、正直に言ってうまくいかなかったし、disk utilが復元用の.isoイメージをサポートしていないのは愚かだった。
ラナ・ミラー

5

OSXから起動可能なUSBディスクを作成しようとすると、同様の問題が発生しました。問題は、UnetBootinがUSBディスクにマスターブートレコードを正しく設定しないことでした。Disk Utilとfdiskを使用して手動でこれを行う必要があります。

  1. 正しいMBRを使用して、ディスクユーティリティでディスクをフォーマットします

    1. ディスクユーティリティを開く
    2. USBデバイスを選択します
    3. パーティションをクリック
    4. パーティションレイアウトでパーティションを1つ選択します
    5. オプションで「マスターブートレコード」を選択します
    6. 形式の種類でMS-DOS(FAT)を選択します。
    7. [適用]、[パーティション]の順にクリックします
    8. ディスクユーティリティを閉じる
      これにより、USBディスクが消去され、正しいブートレコードでセットアップされます。
  2. SysLinuxプロジェクトからMBRバイナリをインストールします

    1. コマンドラインdiskutilを使用して、USBドライブのデバイス名を見つけます。
      diskutilリスト
    2. コマンドラインでUSBドライブをアンマウントします。注意:デバイス参照(私の場合は/ dev / SOMEdisk2)を、前のステップで特定したusbキーの正しい参照と交換してください。これは各マシンで変更されます。
      diskutil unmountDisk / dev / SOMEdisk2
    3. パーティションをアクティブとしてマークし、再度アンマウントします
      sudo fdisk -e / dev / SOMEdisk2
      印刷する
      f 1
      書く
      印刷する
      出口
      diskutil unmountDisk / dev / SOMEdisk2
    4. Syslinuxダウンロードし、mbr.binファイルを抽出します
    5. MBRをインストールする
      sudo dd conv = notrunc bs = 440 count = 1 if = mbr.bin of = / dev / SOMEdisk2
      注:手順4と5についてさらにサポートが必要な場合は、完全な手順を参照してください。
  3. UnetBootinを使用してOSインストールファイルをインストールする

    1. UnetBootinをまだダウンロードしていない場合はインストールします
    2. アプリケーションをロードし、好みのディストリビューションを選択して、[OK]をクリックします
    3. 終了したら、USBキーを取り出して使用します

完全な指示


ポール、こんにちは。リンクを投稿するだけの場合は、親切にしてコンテンツを追加してください。気にしない場合は、手順を追って説明を追加しました。それ以外の場合は、編集を元に戻すことができます
-nixda

問題ありません。答えに
すばやく

syslinux zipには3つのmbr.binがありますが、どちらを使用すればよいですか?
オリビエラロンデ14年

ただ、標準の1のsyslinux-5.00 / MBR / mbr.bin使用
ポールMaunders

私にはうまくいきませんでした。それでも、「Non system disk」メッセージが表示されました。
廃棄物

1

マスターブートレコード(MBR)でUSBキーをフォーマットする

  • ターミナル:diskutil list

  • USBキーの名前に注意してください(私の名前は/ dev / disk1)

  • ターミナルで:diskutil eraseDisk MS-DOS "WINDOWS10" MBR / dev / disk1

  • / dev / disk1をUSBキーの名前に置き換えます

Windows 10ディスクイメージをマウントする

  • ディスクユーティリティ:ファイルを選択›ディスクイメージを開く› .isoを選択

  • 左ペイン:新しくマウントされた画像をクリックします

  • 右側のペイン:名前を選択してコピーします:CCSA_X64FRE_FR-FR_DV5など

ディスクイメージをWINDOWS10 USBキーにコピーします

  • ターミナル:cd / Volumes

  • ターミナル:cp -R CCSA_X64FRE_FR-FR_DV5 / WINDOWS10

  • 例のイメージ名をディスクイメージの名前に置き換えます

  • 最後のスラッシュ(例のDV5の後)は重要です

  • 進行状況インジケータなしでUSB 2.0 USBキーにコピーするのに90分以上かかりました


0

このメソッドはddを使用せず、テストもしていません。

UNetBootInを使用して、ISOのファイルシステムをUSBドライブに転送できるはずです。UNetBootInは、ブート可能なCD / DVDイメージをUSBドライブに転送するためのオープンソースのクロスプラットフォームユーティリティです。

UNetBootInを実行し(Windows、Mac OS XおよびLinuxで実行)、Disk Imageラジオボタンを選択します。次にISO、ドロップダウンメニューから選択し(ISOがデフォルトです)、ISOファイルへのパスを[パス]フィールドに入力します。そこから目的のUSBドライブを選択して転送し、[OK]をクリックします。

ここに画像の説明を入力してください


2
私はそれをテストし、動作しているように見え、ブートセクタが見つかりましたが、「オペレーティングシステムが見つからない」ことを警告しています。それが私が使用した画像に問題があるかどうかはわかりませんが、私はそれを疑います。ブートセクターを適切に書き込むように見えたので、もう少しこれで遊んでみます。
ラナミラー

@LanaMiller Windows 7 Professional x64でUSBスティックで起動しようとしたときに同じエラーが発生しましたが、それを解決できましたか?
クリストップ

0

ここで答えを見つけました

# fdisk /dev/sdY

create single partition type 7+bootable partition

# mkfs.ntfs -f /dev/sdY1
# ms-sys -7 /dev/sdY

# mount -o loop win7.iso /mnt/iso
# mount /dev/sdY1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.