web-dev-qa-db-ja.com

起動可能なUSBを作成するのに 'dd'が機能しないのはなぜですか?

最近私はLinuxミントの起動可能なUSBを作りたいと思いました。起動可能なUSBを作成するために 'dd'コマンドを使用できるかどうかについては、多くの矛盾するアドバイスや経験があることがわかりました。私はISOをダウンロードして試してみることにしました。 ddは間違いなくUSBスティックにイメージを入れましたが、起動できませんでした。それで、私の質問は、この作品を生み出すための魔法の要素は何ですか、それともうまくいかなかったのになぜこのアプローチが持続したのでしょうか。

これは私が使ったコマンドです。

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

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

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

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

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

31
Dave G

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

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

10
Kristof Provost

私の別のLinuxディストリビューションでの経験から、あなたがしなければならないのはsyslinuxブートローダーファイルを変更してUSBをブートするためにそれを修正することだけです。これについての詳細な情報は syslinux wiki にあります。

このGoogle検索 も参照してください。

2
Jacob J Daniels

ブートローダーにBPBを書く必要があるかもしれません。 2009年4月24日(金)9:06 amのDexの投稿を参照してください。 http://f.osdev.org/viewtopic.php?f=1&t=19681

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

そのアドバイスを得て、私はこの問題を解決することができました。私はLinuxを使っているので、私のddコマンドは次のようになりました。

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

あなたはあなたのUSBデバイスとsdbを交換したいと思うでしょう。あなたは実行することによってそれを見つけることができます

ls -l /dev/ | grep sd

linuxが動作している間にあなたのUSBを挿入する前後に。あなたが得る場合sdb1とsdbでは、インデックスなしのオプションを選択しました。

1
define

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

0
Eli Sand

私も数回この問題に遭遇しました。

私がほとんどの場合うまくいくことがわかったのは、最初にドライブをゼロ充填することです。

  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

(4megのブロックサイズが私にとっては一番早いようです)

0
Andre Helberg