最近私はLinuxミントの起動可能なUSBを作りたいと思いました。起動可能なUSBを作成するために 'dd'コマンドを使用できるかどうかについては、多くの矛盾するアドバイスや経験があることがわかりました。私はISOをダウンロードして試してみることにしました。 ddは間違いなくUSBスティックにイメージを入れましたが、起動できませんでした。それで、私の質問は、この作品を生み出すための魔法の要素は何ですか、それともうまくいかなかったのになぜこのアプローチが持続したのでしょうか。
これは私が使ったコマンドです。
dd if=/mint/iso/image of=/dev/sdb1 oflag=direct
/ dev/sdbのパーティション1にイメージを書き込んでいます
これを次のコマンドに変更します。
dd if=/mint/iso/image of=/dev/sdb oflag=direct
この情報は こちらから取得しました
画像を最初のパーティションにコピーしました。/dev/sdb1ではなく/ dev/sdbにコピーしてみてください。
実際のメカニズムは、使用しているイメージの種類によって少し異なりますが、単純なDOS/MBRイメージの場合は、正しいパーティションテーブルを作成する必要があります(ブート可能パーティションはブート可能としてマークされ、MBRはパーティションテーブルではない初期512バイト - 初期ブートコードを含みます。
私の別のLinuxディストリビューションでの経験から、あなたがしなければならないのはsyslinuxブートローダーファイルを変更してUSBをブートするためにそれを修正することだけです。これについての詳細な情報は syslinux wiki にあります。
このGoogle検索 も参照してください。
ブートローダーに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では、インデックスなしのオプションを選択しました。
あなたはそれがあなたのHDDから起動しようとする前にあなたのマザーボードがUSBデバイスから起動するように設定されていることを確認しましたか?私はそれがあなたの唯一の問題かもしれないと思います - あなたが見ることができるようにdd
を使うことは多くはありません。
私も数回この問題に遭遇しました。
私がほとんどの場合うまくいくことがわかったのは、最初にドライブをゼロ充填することです。
それを見つけるためにあなたのドライブレターか番号にXを変えなさい:
diskutil list
lsblk
ドライブをゼロで埋める
dd if=/dev/zero of=/dev/rdiskX bs=4m
dd if=/dev/zero of=/dev/sdX bs=4M
(4megのブロックサイズが私にとっては一番早いようです)