Linuxインストール用USBメモリを作る(Ventoyもあるよ)

今回は小ネタを書いてみようと思います。
DVD-ROMがないPCも多くなり、DVD-Rの容量(4.7GB)も超えるOSイメージもあるので、最近はもっぱらPCにLinuxをインストールするときはUSBメモリを使ってインストールメディアを作ることがほとんどですね。

DVD-Rだと学校や会社で複数のPCに入れるとかじゃなければ、インストール終わったら使うことなんかなくて、昔はDVDの残骸の山になってました。だってWindowsと違ってすぐISOも新しいのでるので。あえて古いバージョンのインストールメディア使うことなんてないですよね。

DVDのゴミを減らすのと、何度も書き換えられるUSBメモリのほうが良いですね。
そもそもDVDよりUSBのほうがインストールデータの読み込みも早いので圧倒的にUSBメモリが便利です。

今回はUSBメモリでインストールメディアを作る方法をまとめたいと思います。

Windowsの場合

Windowsの場合は基本的には素晴らしいフリーツールがたくさんありますよね。
私もUSBメモリを作るときはよく使っていました。
(過去形なのは私は、プライベート用のPCはWindowsはもう使っていないのです)
有名なところだと、以下がありますよね。

rufushttps://rufus.ie/ja/
USBWriterhttps://ja.osdn.net/projects/sfnet_usbwriter/
LinuxLiveUSB Createrhttps://www.linuxliveusb.com/

これらを使えばGUI操作でほとんど直感的に操作できてインストールメディアが作れると思います。

Linuxの場合(コマンドで作る)

私はLinuxOSでUSBメモリを作るのですがこちらもやり方はシンプルです。
特にツールなども不要でOSの標準コマンドでさくっと作れます。
これらのコマンドはroot権限がないと作れないケースがほとんどなので、sudoかrootユーザで実行する必要があります。

USBメモリのパスってどうやって調べるの?に関してはlsblkコマンドを使えばだいたいわかりますし、SSDやらHDDが1台しかついていない場合は/dev/sdbで認識しているケースが多いんのではないかと思います。
基本は、きちんと確認してくださいね。
間違ってOSのディスクやデータディスクに対して実行するとそのディスク消えてしまいますので、そうなったら悲しみにくれるしかないです。私はddコマンドで間違って消したことがあります。


以下の例だと容量が16GB製品のUSBメモリを接続した状態のlsblkの結果なので、容量が近い値である/dev/sdbがUSBメモリです。私のはワゴンセールの安物なので完全に16GBってわけではないんですかね。。

# 以下を前提にコマンドを書いているので適宜読み替えてください。
# LinuxのインストールISO: linux.iso
# USBメモリのパス: /dev/sdb

# ddコマンドの場合
$ dd if=linux.iso of=/dev/sdb bs=4M

# cpコマンドの場合
$ cp linux.iso /dev/sdb

# usbメモリのデバイス名を調べる場合は以下のコマンドでだいたいわかります。
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 119.2G  0 disk 
├─sda1   8:1    0 110.4G  0 part /
└─sda2   8:2    0   8.8G  0 part [SWAP]
sdb      8:16   1  14.5G  0 disk 
├─sdb1   8:17   1  14.4G  0 part 
└─sdb2   8:18   1    32M  0 part 

USBメモリでインストールメディアを簡単ですよね?

ただ、私の環境固有の問題なのか。特にddコマンドはコマンドが終了してもまだすべて書ききれていない?書き込みに失敗するケースもあるので、急いでUSBメモリを抜くと失敗していることが過去何回かありました。
なのでUSBメモリがアクセス中は点滅するような製品ならアクセスLEDが点滅しなくなってから抜いたほうがよいですね。

Linuxの場合(GUIツールで作る)

ほとんどコマンドで作る場合が多いと思いますが、Linuxにも一部GUIツールがあります。
UNetbootinとVentoyです。
UNebootinはWindows版とLinux版がありますので使ったことある方も多いと思います。
今回は、Ventoyに関して使い方をまとめていきます。

VentoyはUSBライタというよりはBoot可能なUSBメモリを作ってくれて、USBメモリにISOイメージをそのままコピーするとコピーしたISOファイルのインストーラが起動します。

Ventoyのインストール

まずは標準では入っていないのでVentoyインストールします。
Ubuntuならはこのサイトで紹介されていますね。Githubから持ってきてインストールシェルを起動するようです。

# arch系ならばAURにありますので、yayやparuで取ってこれます
$ yay -S ventoy-bin

ツールの起動

Ventoyをインストールしたら、スタートプログラムにVentoyが登録されるので、Ventoyを起動します。
コマンドなら、ventoyguiコマンドで起動できます。
起動すると英語表記なのですが、Languageメニューに日本語にするとこんな感じになります。

USBも認識していますね。そしたら、あとは「導入」ボタンを押すだけです。
ここで念の為なのですが、VentoyはOSのインストールイメージファイルはこの時点では指定しません。あくまでもUSBブートができるVentoyのプログラムがUSBにインストールされるだけです。

OSイメージをコピーする

VentoyのUSBができるとファイルマネージャを開くと、以下のように左側にVentoyのUSBが表示されます。
表示されない場合はUSBメモリを一度外し、再度接続してみたら表示されたりします。
このUSBにLinuxのOSイメージをコピーします。ファイルマネージャでGUIでコピーしても大丈夫です。

これで、インストールメディアの作成はできたので、USBメモリを外し、インストールしたいPCに接続して、起動するとVentoyの画面が表示されますので、コピーしたLinuxインストールイメージファイルを選択すればあとは起動できます。これ便利ですね。

それでも失敗する悲しい場合

環境固有の問題だと思いますが、USBのインストールメディアを接続して、PC起動すると以下のようなメッセージが出てインストーラが起動しないケースや、インストール中にファイルが無いとかエラーが出てインストールが失敗することががあります。

ちなみに他のディストリビューションだと問題なく起動できたりするので、SYSLINUXと実機の相性だったりするんでしょうかね??StackOverflowとかでも困っている人の書き込みあったりしますしね。

SYSLINUX 6.03 EDD 2014-10-06 Copyright (C) 1994-2014 H. Peter Anvin et al Failed to load ldlinux.c32 Boot 

こうなった場合は、普段面倒くさがり屋の私は几帳面にISOイメージが壊れていないかなんて確認しないのですが、壊れている可能性を一つづつ確認していきます。

Linuxのインストールイメージファイルが壊れていないかを確認する場合は、以下のようなコマンドを使います。
ファイルサイズの確認用の情報(ハッシュ情報)が入ったファイルが一緒に公開されているケースが多いです。
EndeavourOSの場合はこんな感じの「sha512sum」ってファイルです。ディストリビューションによってはsha256sumだったりします。

以下のコマンドでダウンロードしたインストールイメージファイルのハッシュ値を計算して、公開されているハッシュファイルの情報と同じ結果が表示されればファイルは壊れていないです。

ハッシュはファイルが壊れている(データが欠損)場合やファイル内容が改ざんされている場合にはsha512sumの値が公開されているハッシュファイルと違う値になります。
インストールメディアのダウンロードが遅い場合など通信が不安定な場合は確認してみることをおすすめします。

# sha512sumコマンドでインストールイメージのハッシュ値を計算する
$ sha512sum EndeavourOS_Artemis-22_6.iso
6b1cb06d3674a7e02c4c806567cad9391a7cb483b39bda70efef7a38f144d66bd2ddf5fd507542b087871b02f3e3b21317f1488c2ddcdfbc5cfdc2440043324d  EndeavourOS_Artemis-22_6.iso
# 公開されているハッシュファイルの中身
$ cat EndeavourOS_Artemis-22_6.iso.sha512sum
6b1cb06d3674a7e02c4c806567cad9391a7cb483b39bda70efef7a38f144d66bd2ddf5fd507542b087871b02f3e3b21317f1488c2ddcdfbc5cfdc2440043324d  EndeavourOS_Artemis-22_6.iso

インストールメディアが大丈夫な場合はUSBへのファイル書き込みが失敗していたり、USBメモリが壊れていたりするので、インストールメディアの作成をもう一度試してみると改善されたりします。

ただ、どうにも改善しない場合も何度かありました。これは完全に環境依存かもしれません。
作成するツールやコマンドを変えてみるとうまく行ったりするので試してみてください。

おわりに

今回なんでUSBメモリのインストールメディアを作る話をしたかというと、サブPCのSSDが壊れてしまい起動できなくなったので、SSDを買い直して、EndeavourOSを入れようとしたら、うまく起動できずVentoyを使ったらうまく起動できたという低スペック固有の貴重な体験をしたので、同じく初心者の方がインストーラが起動しないくらいで、Linuxにハードルを感じたり、あきらめたり、ほんとは使いたいディストリビューションじゃないディストリビューションに妥協して移ったりするのは悲しいので、だれかのお役に立てればとおもい書いてみました。
それでは良い週末を!

Linux,Tips

Posted by Qtaro