「dd」コマンドを使用して起動可能なUSBスティックを作成する


11

UbuntuのいくつかのフレーバーのISOイメージをddコマンドでUSBスティックに入れて正常に起動できるのに、他のフレーバーはISOイメージを保存できないのはなぜですか?さらに、特定のUSBスティックにも依存しているようです。私は標準のUbuntuで試しました:

$ sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129

そして、それは魅力のように機能します。つまり、起動してインストールするか、ライブUbuntuを実行します。しかし、同じように準備された別のUSBスティックを使用すると、オペレーティングシステムが BIOSエラーを検出せず、起動に失敗します。

Ubuntu GNOMEを試すと、使用しているUSBスティックに関係なく、前の例と同じエラーで起動しません。

Ubuntu にはStartup Disk Creatorアプリケーションがあることは知っていますが、これは単純なddコマンドのGUIファサードにすぎず、少なくともLinuxの場合は常にddを使用して起動可能なUSBスティックを作成できると確信しています。私が間違っている?


私はUnetbootinを個人的に使用しており、問題は一度もありません。
Tim

回答:


5

起動ディスククリエーターを実行すると、次の3つ(4つ)の処理を実行することがわかります。

  1. ドライブをフォーマットする
  2. ISOからドライブにデータをコピーする
  3. (持続性のために追加のcasper 1ファイルを追加します(選択されている場合dd)。持続性は得られません。)
  4. ブートローダーをインストールする

のGUIではありません(のGUIはddありますddが、SDCはその1つではありません)。Arch LinuxGentooの手動の方法と同等のことと考えることができます。現在、ほとんどの(かなり人気のある)ディストリビューションのインストールISOを使用して、起動可能なUSBを作成できるはずです。これは私がArchを見た3、4年前には当てはまりませんでした。すべてのArch ISOがこの機能を取得したのは2010年だけです(USBドライブに直接書き込むことができます)-2008年から2010年まで、特別なUSBイメージがありました。

さらに、ddドライブを直接使用する場合、そのドライブは、フォーマットするか、何らかの方法で残りのスペースを使用するまで、実質的に読み取り専用です。SCDで作成されたディスクは、ライブ環境からコンテンツに簡単にアクセスできない場合でも、USBドライブとして使用できます。したがってdd、1 GBのISOを8または16 GBのUSBドライブに接続する場合、追加の手順を実行しない限り、残りのスペースを効果的に放棄します。


1通常、ほとんどのライブイメージはルートパーティションにSquashFSファイルを使用します。SquashFSは読み取り専用であるため、永続化のためにでファイルが作成されます。の起源はわかりません。私が理解しているところによると、オプションで起動すると、カーネルはsquashfsの上にcasperファイルをオーバーレイし(存在しない場合は作成する)、書き込み機能を獲得します。ファイルである必要はありません。パーティションにすることもできます。casper-rw/caspercasperboot=caspercasper


「キャスパーファイル」とは?説明してください。

@MikołajBartnicki私自身はよくわかりませんが、答えを更新しました。
muru 2014

キャスパーはゴーストです(ご存じのとおり)。あなたが言ったように、それはroファイルシステム上のいくつかのフォルダーをオーバーレイします。永続化が有効になっている実行中のライブイメージからファイルシステムを調べると、読み取り専用システムと書き込みシステムの両方に存在する「上位」と「下位」のディレクトリがいくつか表示されますが、実行中のシステムでは1つとして表示されます。既存のフォルダー
oneindelijk 2017年

2

最初に試してください:

su -c 'mkfs.vfat /dev/sdc -I'

ddコマンドを使用してisoファイルからブート可能なusbディスクを作成するには、ディスクに/ dev / sdc1(ディスク/ dev / sdcの 4つの可能なプライマリパーティションから1つ)のようなパーティションを含めることはできません。ISOファイルのブロックをプライマリパーティションにクローンすることはできません。DVDまたはCDディスクにもそれがないためです。これが、パーティションプライマリではなく、ディスク/ dev / sdcに正確にファイルシステムを作成する必要がある理由です。

さらに、ddコマンドを入力していくつかの間違いを犯しました。

これを試して:

su -c 'dd if=/home/user/debian.iso of=/dev/sdc bs=4M;sync;eject /dev/sdc'

最初にmkfs.vfatがないと、コマンドは修正されません。ブートローダーもインストールし、パーティションをアクティブにするとできます。他のUSBドライブが機能しない可能性があります。USBポートが別のUSBポートと共有されているか、ライブUSB OSを動作させるための電源がありません。おそらくHDDと通常よりも多くの電力を必要とする他のUSBディスクを動作させるためです。このタイプのデバイスの平均消費電力よりも高い(SATAアダプターからのUSBを使用した外部ケースのHDDディスクなど)


2

起動可能なUSBスティックを作成することもできますcpddGUIまたはGUI よりもはるかに簡単に思えます)。

sudo cp path/to/ISO /dev/sdX


それを忘れないでください/dev/sdXあなたのブロックデバイスの名前に置き換えてください(例えば/dev/sdb/dev/sdc)。


1
それは私にとって本当に新しいことでした。progress unix.stackexchange.com/a/301329/87264と一緒に進行状況も表示されます
Jonas Eberle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.