ブート可能なUSBの作成に「dd」が機能しないのはなぜですか?


36

最近、Linuxミントの起動可能なUSBを作成したかった。「dd」コマンドを使用して起動可能なUSBを作成できるかどうかについて、相反するアドバイスや経験がたくさんあることがわかりました。ISOをダウンロードして試してみることにしました。ddは間違いなくUSBスティックにイメージを配置しましたが、起動できませんでした。だから私の質問は、この仕事をする魔法の成分は何ですか、それがうまくいかないのになぜこのアプローチが持続するのですか?

これは私が使用したコマンドです、

dd if=/mint/iso/image of=/dev/sdb1 oflag=direct 

@sawdustは、投稿された回答が「ノーゴー」であると述べている間、この記事(community.linuxmint.com/tutorial/view/744)はこれが正しい手順であることを示しています。
デイブG

1
@DaveG-興味深いことに、明らかに「dd」は、ソースファイルが「ハイブリッドISOイメージ」である場合に使用可能なコマンドです。ただし、すべてのisoの一般的な手順ではありません。おそらく、その区別が、jdownerが遭遇したアドバイスの矛盾の理由です。
おがくず

@sawdustの追加の説明に感謝します。
デイブG

EFIブートシステムで使用されるスティックオンシステムがありますが、マシンは「クラシック」ブートを使用するように構成されています。Linux Mint USBスティックで見られます。
デビッドトンホーファー

以下は、Ubuntu Live ISOに基づいた、手に負えないisoイメージの単純/天才的な回避策です。1)(たとえば) "/ dev / sdX1"にファイルシステムがあるようにスティックをフォーマットします、2) "/ mnt / usbとしてスティックをマウントします"たとえば、3)スティックにgrub2をインストールします。grub2-install --boot-directory /mnt/usb/boot/ /dev/sdX、4)以前にダウンロードしたISOイメージ(たとえば、" foolinux.iso ")をスティックにコピーしcp foolinux.iso /mnt/usb/ます。5)" /mnt/usb/boot/grub2/grub.cfg "ファイルを作成します。スティック上にあるISOイメージからLinuxをブートする(続き)
デビッドトンホーファー

回答:


32

/ dev / sdbのパーティション1にイメージを書き込んでいます

これを次のコマンドに変更します。

dd if=/mint/iso/image of=/dev/sdb oflag=direct

この情報はここから取得されました


2
私はやっています:sudo dd if =。/ debian-8.4.0-powerpc-DVD-1.iso of = / dev / rdisk3 bs = 1mで、起動できません。
ユスフク

rdisk3はパーティションまたはrawディスクですか?あなたは、特定のパーティションにイメージを書き込むしようとしている
デイブG

1
/ dev / sdbを実行していますが、まだ起動できません
18年

rdisk3は、mac afaikの3番目のディスクです。Yusufkと同じ問題があります。UEFIに関連しているかどうかを確認する必要があります。
ガビット

11

イメージを最初のパーティションにコピーしました。/ dev / sdb1ではなく/ dev / sdbにコピーしてみてください。

実際のメカニズムは、使用しているイメージのタイプによって少し異なりますが、単純なDOS / MBRイメージの場合は、正しいパーティションテーブルを取得する必要があります(ブート可能なパーティションはブート可能としてマークされ、MBRはパーティションテーブルではない初期512バイト-初期ブートコードを含む。


私も(この回答にほのめかしたように)十分であり、単にあなたが最初にイメージをコピーしたパーティションにブートフラグを設定し、むしろ別のパーティションに再び全体のISOをコピーしようとするよりも、それを注意するだろう
GrayedFox


1

ブートローダーにBPBを書き込む必要がある場合があります。http://f.osdev.org/viewtopic.php?f=1&t=19681の 2009年4月24日金曜日9:06 amからのDexの投稿を参照してください。

要点は、「[USBファームウェア]ユーザーがフロッピーエミュレーションを使用していて、BPBがない場合は起動しない」ということです。

そのアドバイスを武器に、この問題を解決することができました。私はLinuxを使用しているので、私のddコマンドは次のとおりでした:

sudo dd bs=512 count=2880 if=IMG.bin of=/dev/sdb

sdbをusbデバイスに置き換える必要があります。実行することで見つけることができます

ls -l /dev/ | grep sd

Linuxの実行中にUSBを挿入する前後。たとえばsdb1とsdbを取得する場合は、インデックスなしオプションを選択します。


0

マザーボードがHDDからの起動を試みる前に、USBデバイスから起動するように設定されていることを確認しましたか?それがあなたの唯一の問題かもしれないと思います- ddあなたが見ることができるように使用することはあまりありません。


1
これは、特に古いコンピューターで作業していたため、私が考えていた問題でした。そのため、ターゲットマシンで動作しなかったとき、妻のラップトップで起動順序を設定し(shh、彼女に言わないでください)、それからも起動しませんでした。

0

また、この問題に何度か遭遇しました。

ほとんどの場合、私にとって効果があるとわかったのは、最初にドライブをゼロで埋めることです。

  1. Xをドライブ文字またはドライブ番号に変更して見つけます。

    • マック: diskutil list
    • Linux: lsblk
  2. ドライブをゼロで埋める

    • マック: dd if=/dev/zero of=/dev/rdiskX bs=4m
    • Linux: dd if=/dev/zero of=/dev/sdX bs=4M
  3. 画像をもう一度dd

(4メガブロックサイズは私にとって最速のようです)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.