ターミナルから起動可能なUbuntu USBフラッシュドライブを作成する方法


353

YUMIUnetbootinStartup Disk Creatorなどのサードパーティアプリケーションを使用せずに、ターミナルから起動可能なUbuntu USBフラッシュドライブを作成する方法はありますか

ddメソッドで起動可能なUbuntuフラッシュドライブを作成しようとしましたが、

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M

USBディスクにファイルを作成しますが、USBディスクを起動しようとするとOperating System Not Foundエラーが表示されます。


USBフラッシュドライブがマウントされていないことを確認する必要があります。lsblkで確認してください。必要に応じて、sudo umount / dev / sdb(おそらくsdb1、sdb2)を実行します。; echo $?を追加します dd copyコマンドの後。sudo dd if = ... of = ... bs = 4M; エコー$?コマンドが終了した場合、戻り値は0になります

私はあなたの手順を実行しましたが、作成と同じファイルも作成します。主にLinux OSが起動するのに重要なファイルsudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1Mは作成しませんubninit,ldlinux.sys,etc
アビナッシュラジ

最終ステップとして、USBディスクのMBRにgrubをインストールします。
オタク長老

2
最も簡単なターミナルを使用した組み込みのツールと方法を使用することですddここで説明するように。すべてのハイブリッドISOファイルで機能します。しかしdd、それはあなたが質問なしであなたがそれをするように命じることをするので危険なツールです。ですから、家族の写真を一掃するように言ったら...、それはちょっとしたタイプミスです。多くのツールはより安全です。ターゲットドライブを識別して選択し、正しいドライブに書き込むことを再確認できる最終チェックポイントを提供します。これらのほとんどはGUIツールで、一部はテキストモードでも機能しますmkusb-dus
sudodus

1
次のリンクは、dd起動可能なUbuntu USBフラッシュドライブaskubuntu.com/questions/982552/accidentally-did-dd-dev-
sudodus

回答:


431

を使用できますdd

 sudo umount /dev/sd<?><?>  

ここ<?><?>で、文字の後に数字が続きlsblkます。実行して検索します。

それは次のようになります

sdb      8:16   1  14.9G  0 disk 
├─sdb1   8:17   1   1.6G  0 part /media/username/usb volume name
└─sdb2   8:18   1   2.4M  0 part 

sdb1のマウントを解除します。

次に、次のコマンド(これは破壊的なコマンドであり、USBドライブ全体をISOの内容で消去するため、注意してください):

 sudo dd bs=4M if=path/to/input.iso of=/dev/sd<?> conv=fdatasync  status=progress

どこinput.isoが入力ファイルであり/dev/sd<?>、書き込み先のUSBデバイスです(実行lsblkしてすべてのドライブを表示し、USBに対応するデバイスを見つけ<?>ます)。

この方法は高速であり、失敗したことはありません。


編集:ここで終わるMac上でそれらのために、小文字を使用してくださいbs=4m

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync

編集:USBドライブが起動しない場合(これは私に起こった)、それはターゲットがドライブではなくドライブ上の特定のパーティションであるためです。したがって、ターゲットはdev / sdcではなく/ dev / sdcである必要があります<?>。私にとっては/ dev / sdbでした。

参照:https : //superuser.com/a/407327およびhttps://askubuntu.com/a/579615/669976


13
私にはうまくいきません。
アビナッシュラジ

7
本当に?パスを含む正しい.isoファイル名と、USBドライブの正しい/ devがありますか?どのように失敗しますか?エラーメッセージはありますか、それとも起動に失敗しますか?.isoが破損していませんか?
マーク

8
破損した.isoがある可能性があります。チェックしましたか?.isoは実際に起動可能なもののコピーであると確信していますか?
マーク

5
元の質問と最も賛成の答えは、この方法は彼のために機能していないと言った人と同じです。;-)私にとって、承認された答えは機能していませんが、これは機能します。:-)賛成。
ドラッヘンフェルズ

20
status=progressコマンドラインにを追加すると、トップコピーの残り量を確認するのにも役立ちます。

101

あなたはもうすぐそこddにいますが、一歩足りません。

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

sdXUSBデバイスはどこにありますか(これはで確認できますlsblk)。

syncビットが重要でありdd、書き込み動作が終了する前に戻すことができます。


17
言及する場合は+1 sync。これがないと、コンテンツが実際にコピーされたかどうかわかりません。また、急いでいない場合はmd5sum、両方のファイルを二重にする必要があります。
デイブ

4
USBをsudo mkfs.msdos -F 32 /dev/sdX最初にFAT32として(再)フォーマットする必要があるかもしれません。
ニモ

10
@Nemo、それが違いを生むことは可能ですか? dd/ dev / sdXに既存のファイルシステムを上書きします。
mwfearnley

5
syncここでは無意味です。ファイルシステムの操作にのみ影響します。
-punund

3
conv=fdatasync- 終了する前に出力ファイルデータを物理的に書き込み、同期を処理する必要がありますが、デバイスが最初にアンマウントされていることを確認することをお勧めします
ジョナソンヘブン

98

ターミナルから起動可能なUbuntu USBフラッシュドライブを作成する

  • ubuntu.isoファイルをハードディスクパーティションに配置します。

  • 次にubuntu.iso、端末で以下のコマンドを使用してファイルをマウントします

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • USBフラッシュドライブを挿入します。私のドライブは/dev/sdd。スクリーンショットは次のとおりです。

GPartedスクリーンショット

  • ドライブはに自動的にマウントされ/media/ます。にマウントされたと仮定しましょう/media/xxx/

  • /media/iso/以下のコマンドを実行して、マウントされたUSBフラッシュドライブにすべてのファイルをコピーします(ドットを含めるようにしてください)。

    cp -a /media/iso/. /media/xxx/
    
  • 次に、ldlinux.sysUSBを起動可能にするために、USBフラッシュドライブにファイルが必要です。私のUSBパーティションは/dev/sdd1; lsblkあなたのものを見るために入力してください。以下のコマンドを実行します。

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
  • 移動し/media/xxx、マウントフォルダと名前を変更isolinuxするディレクトリをsyslinux。その後、名前を変更したフォルダに移動して、ファイルの名前を変更isolinux.cfgしますsyslinux.cfg

  • PCを再起動し、BIOSで起動順序を変更して、USBドライブから起動できるようにします。これで、Ubuntu USBフラッシュドライブが起動し、インストールできます。

この方法は、Ubuntuだけでなく、あらゆるLinuxディストリビューションで機能します。Linux USBフラッシュドライブを作成するために、サードパーティのソフトウェアをインストールする必要はありません


3
私は今それを試していますが、何を使用するのかを指定してください:cp -rではなくcp -a
Moldovean 14

2
コマンドが必要sudoですsyslinux
Cammy_the_block 14年

9
この方法はうまくいきませんでした。cp -aは、「cp:シンボリックリンクを作成できません '/media/xxx/./ubuntu':操作は許可されていません」など、ターゲットがfat32であるため、その他を提供します。私はそれを無視しようとしました...機能しませんでした
彼女は

6
usbはfat32ファイルシステムでなければならないことに注意してください。そうしないと、syslinuxは機能しません
リカルドBRGWeb

2
コンソールには、@sheßと同じエラーが表示されます。ファイルシステム(FAT32)を検証し、BOOTにフラグを立てました。
ショフォテディ

40

2つの選択肢があります。

グラフィカルインターフェイスが必要な場合は、usb-creatorを使用します(ubuntuリポジトリにあります)

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

コマンドラインツールが必要な場合は、ddを使用します

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M

/dev/sdX使用するフラッシュドライブを確認してください(フラッシュドライブのデータが破壊されます)。

詳細については、https://help.ubuntu.com/community/Installation/FromUSBStickを参照してください


1
私は、コマンドラインツールを望んではなく、GUIツール(起動ディスクの作成者など)に.According dd方法、わずか3フォルダと1つのファイルが、私はそれが言う起動しようとしている私のusb.Whileで作成されたoperating system not foundようにerror.Files ubninit,menu.c32,ubnpathl.txt,ubnfilel.txt,ldlinux.sysている欠けているが(ライブUbuntuを起動することは非常に重要ですusb)。
アビナッシュラージ

1
私はubuntu.isoでddメソッドを試しましたが、うまくいきました!しかし、USBで書き込むには時間がかかりすぎます。bs = 1Mは何を表しているのでしょうか。このサイトはmanpages.ubuntu.com/manpages/karmic/en/man1/dd.1.htmlでした。値を変更すると、USBへのコピーが速くなるのではないかと思います。そして、リスクは何ですか。
モルドベアン14

4
bsはブロックサイズです。ddは1MBのデータをメモリに読み込み、ディスク全体に書き込みます。非常に小さなブロックサイズを使用すると、多くのCPUオーバーヘッドが発生します。非常に大きなブロックサイズを使用すると、予期しない副作用が発生する可能性があります。たとえば、ディスクアクティビティのない長時間の一時停止や大きなRAM使用量などです。ISOからディスクを作成する場合、通常1Mまたは4Mが適切な値です。ブロック・サイズの詳細情報:stackoverflow.com/questions/6161823/...
ApolloLV

ブータブルusbを作成することはめったにありませんが、それを行うときは、正しく実行したいと思っています。ブロックサイズを小さくすると時間がかかりますが、それは問題ですか?いや。
マーク

2
@Marc-唯一の問題は速度です。ブロックサイズを小さくしてもエラーは発生しにくくなり、ブロックサイズが大きくなり、ブロックサイズが小さくなります。完了とは、isoのmd5sumをチェックし、書き込まれたイメージのmd5sumを確認することを意味します。m5dsumを確認すると、正しく行われたことがわかります。
パンサー

28

最初にUSBデバイスをアンマウントしてlsblkから、デバイスの検証に使用します。

時々(通常は古いisoファイル)ddが十分ではなく、ペンドライブが起動しないことがあります。この場合、syslinuxのインストールが必要になる場合があります。

sudo apt-get install syslinux

その後、次のコマンドを実行します。

sudo mkfs -t vfat -I /dev/sdX

最後のコマンドを実行したいの/dev/sdXはなく /dev/sdX1

次に、次のコマンドを実行します。

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M

または、イメージの書き込みの進行状況を確認するには:

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M

またはの代わりにdd、代わりに使用できますcat

sudo -s
cat /path/to/file.iso > /dev/sdX

書き込みキャッシュをフラッシュするために同期コマンドを発行することを思い出してください

sync

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.en.html


私は他のすべてが失敗したことを言及する必要がありますが、これは機能しました-私はcatコマンドを選択しました。
デジタルドラキュラ

dd単独で十分であると主張する人のために、私はこれが動作するためにも必要でした。
-GuiRitter

ddISOがハイブリッドでマウントされているときに使用するツールが必要な場合は、ISOファイルをコピーし、ISOがインストールされていないときにSYSLINUXをインストールしますbootiso。代わりに使用します。
ジュールランドルフ

1
これらの各コマンドが実際に行うことを説明できますか?デバイスでvfatファイルシステムを作成し、すぐにisoファイルの内容で上書きすることのポイントは何ですか?isohybrid実際に何をしますか?ISOを何らかの方法で変更しますか?
cheshirekow

10

「サードパーティ」で「gui」を意味する場合、Avinash Rajの回答の後にbootisoという名前の軽量スクリプトをお勧めします。これは常に機能するとは限りません。大きなプラスは、非常に安全であり(システムに干渉しないように多くのセキュリティチェックを実行します)、簡単にインストールでき、ポータブルです。dd

また、bootisoISOファイルを検査して、2つのモードから選択しますdd。ISOファイルがハイブリッドの場合は、イメージコピー()、つまりUSBフレンドリーです。ISOファイルが非ハイブリッドの場合は、mount-rsyncモード。この場合、サポートされていればSYSLINUXブートローダーが自動的にインストールされます[ 自動動作の詳細 ]。

それを使用する方法

最初のオプションとして、最初の引数としてISOを指定するだけで、以下から抽出されたリストの中からドライブを選択するように求められますlsblk

bootiso myfile.iso

または、USBデバイスを明示的に提供します。

bootiso -d /dev/sde myfile.iso

クイックインストール

curl -L https://git.io/bootiso -O
chmod +x bootiso

実際にご覧ください:


1
同意します、これはプロセスから恐ろしい部分を取り除く非常に素晴らしいスクリプトです。詳細はこちら:tecmint.com/create-bootable-usb-in-linux-commandline
kr37

4Gb以上でFAT32に保存できない「install.wim」ファイル(「wimlib-imagex」コマンドを使用)の「wim splitting」をサポートしているため、Windows 10 Oct 2018もサポートしています。
mevdschee

7
$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB

ビットへのパスを使用しないでください。

  1. cdコマンドを使用して、.isoファイルを含むフォルダーに移動します
  2. コマンドを使用する dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. コンソール出力が次のようになるまで待ちます。

    1028+1 records in
    1028+1 records out
    1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
    
  4. USBから起動します。

注:USBが常にマウントされるとは限らない正しいデバイスに書き込むようにしてください:dev/sdXXは任意の文字です。


2
ddコマンドのbs = 1MBの意味は何ですか?
juggernauthk108

1
@ juggernaut1996なし。コピーするときに使用するブロックサイズです。count引数が指定されていないため、入力全体が1MBブロックでコピーされます。削除できます。
sjbx

「ビットへのパスを使用しない」は誤報です。プロセス自体はどのステップでもコピーされたイメージにパスコンポーネントをベイク処理しないため、ISOイメージを含むディレクトリに移動するか、完全なパスを指定するだけでは関係ありません。さらに、ddはstdinからの入力も受け入れることができるため、2つのddを相互にパイプするだけで、パスがイメージに焼き付けられないようにすることができます。
ガボールガラミ

これは、今日の大部分のケースを満たすハイブリッドISOでのみ機能しますが、UltimateBootCDなどの顕著な例外があります。bootiso代わりに使用してください。
ジュールランドルフ

-5

これを試してみて、100回以上失敗しませんでした:

カードをフォーマットします。

$ sudo mkfs.vfat -F32 /dev/sdx

ISOイメージをマウントします。

$ sudo mount ubuntu.iso /mnt

内容をカードにコピー:

$ sudo cp -rvf /mnt/* /SD_CardMountPoint

次に:

  • isolinuxフォルダーの名前をsyslinux
  • 改名syslinux/isolinux.cfgするsyslinux/syslinux.cfg
  • 改名syslinux/isolinux.binするsyslinux/syslinux.bin
  • 走る syslinux -s /dev/sdx

4
-1。これもテストしましたか?sudo cp -rvf /mnt/* /dev/sdx動作しません(少なくとも、意図したとおりに動作しません)。rawデバイス(/dev/)にファイルをコピーしません。代わりに、カードをマウントし、ISOファイルの内容をカードにコピーする必要があります(マウントポイントからマウントポイントへ)。そして、同じアプローチを持つ現在受け入れられている答えの何が問題なのか。
gertvdijk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.