インストール - ブータブルUSB作成ソフトウェア
概要
ここでは、起動可能なストレージを作成する4つの方法について記載する。
どちらの方法が最適に機能するかを決めるのはユーザと環境次第である。
balenaEtcher
概要
balenaEtcherは、各種OSのイメージファイルを元にして、ブートUSBを作成することができるソフトウェアである。
以下のように、簡単な3ステップで作成できるところが特徴である。
- ブートディスクの元になるイメージファイルを選択する。
 - 書き込み先のUSBメモリやSDカード等を選択する。
 - 書き込みボタンを押下する。
 
対応フォーマットは、ISO / IMG / BIN / DMG / BZ2 / DSK / ETCH / GZ / HDDIMG / RAW / RPI-SDIMG / SDCARD / XZ / ZIPである。
balenaEtcherのインストール
Windows
balenaEtcherの公式Webサイトにアクセスして、balenaEtcherをダウンロードして、解凍する。
インストーラの場合は、解凍したファイルをダブルクリックしてインストールを行う。
ポータブルの場合は、解凍したファイルをダブルクリックすると実行される。
RHEL / SUSE
- AppImageの使用
- balenaEtcherの公式Webサイトにアクセスして、balenaEtcherをダウンロードする。
 - ダウンロードしたファイルを解凍する。
 unzip balena-etcher-electron-<バージョン>-linux-x64.zip- 解凍したAppImageファイルに、実行権限を付加する。
 chmod u+x balenaEtcher-<バージョン>-x64.appimage- 必要であれば、AppImageファイルを任意のディレクトリに配置する。
 mv balenaEtcher-<バージョン>-x64.appimage <balenaEtcherのインストールディレクトリ>- balenEtcherを実行する。
 ./balenaEtcher-<バージョン>-x64.appimage
 - balenaEtcherの公式Webサイトにアクセスして、balenaEtcherをダウンロードする。
 - リポジトリを登録してインストール
- RHEL
 - balenaEtcherのリポジトリを登録する。
 curl -1sLf 'https://dl.cloudsmith.io/public/balena/etcher/setup.rpm.sh' | sudo -E bash- balenaEtcherをインストールする。
 sudo dnf install balena-etcher-electron- SUSE
 - balenaEtcherのリポジトリを登録する。
 sudo zypper ar https://balena.io/etcher/static/etcher-rpm.reposudo zypper refresh- balenaEtcherをインストールする。
 sudo zypper install balena-etcher-electron
 
balenaEtcherのアンインストール
- RHEL
- balenaEtcherをアンインストールする。
 sudo dnf remove balena-etcher-electron- balenaEtcherのリポジトリを削除する。
 sudo rm /etc/yum.repos.d/balena-etcher.reposudo rm /etc/yum.repos.d/balena-etcher-source.repo- balenaEtcherのキャッシュファイル等を削除する。
 sudo dnf clean allsudo dnf makecache fast
 - SUSE
- balenaEtcherをアンインストールする。
 sudo zypper rm balena-etcher-electron- balenaEtcherのリポジトリを削除する。
 sudo zypper rr balena-etchersudo zypper rr balena-etcher-source
 
Ventoy
Ventoyとは
Ventoyは、イメージファイルからブートUSBメモリを作成するためのフリーかつオープンソースのユーティリティである。
Ventoyの特徴を以下に示す。
- UEFIセキュアブート対応
 - Linuxの永続性をサポート
 - MBRとGPTパーティションのサポート
 - ISOファイルから直接起動、解凍の必要なし
 - Windowsオートインストール対応
 
詳細については、Ventoyの公式Webサイトにアクセスすること。
Ventoyのインストール
Windows
まず、Ventoyの公式Webサイトにアクセスして、Ventoyをダウンロードする。
ダウンロードしたファイルを実行してインストールする。
Linux
まず、VentoyのGithubからVentoyをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf ventoy-<バージョン>-linux.tar.gz
解凍したディレクトリを任意のディレクトリに配置する。
Ventoyのデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/Ventoy.desktop
 # ~/.local/share/applications/Ventoy.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Name=Ventoy
 GenericName=Ventoy
 Comment=quickly and easily create bootable USB flash drives and SD cards.
 Exec=/<Ventoyのインストールディレクトリ>/VentoyGUI.x86_64 %F
 Icon=/<Ventoyのインストールディレクトリ>/Ventoy.png
 StartupNotify=true
 StartupWMClass=Ventoy
 Terminal=false
 Categories=Utility;
Ventoyの使用方法
- PCにストレージを接続して、ストレージのアドレスを検索する。
lsblkコマンド、blkidコマンド、fdiskコマンド等を使用する。sudo fdisk -l
 - VentoyGUI.x86_64ファイル(またはVentoyGUI.aarch64ファイル)を実行、または、Ventoy2Disk.shファイルに
-iオプションとストレージのアドレスを付加して実行する。
上記を実行する前に、必ず、ストレージのバックアップを取得すること。sudo ./Ventoy2Disk.sh -i /dev/sdX
 - イメージファイルの焼き込みが正常に成功したことを示すメッセージが表示される。
 - ストレージ名は、"ventoy"としてリネームされる。
 
Gnome Disks
概要
balenaEtcherを使用したくない場合、Gnome Disksを使用することを推奨する。
パッケージ管理システムからインストール
# RHEL sudo dnf install gnome-disk-utility # SUSE sudo zypper install gnome-disk-utility
ソースコードからインストール
GNOME Disksのビルドに必要なライブラリをインストールする。
sudo zypper install xz-devel libdvdread-devel libcanberra-devel libcanberra-gtk3-devel gobject-introspection-devel libhandy-devel \
                    libgladeui-2-devel libudisks2-0-devel libnotify-devel libsecret-devel libpwquality-devel systemd-devel \
                    vala libvala-0_54-devel  # SUSE 15.5以前
                    vala libvala-0_56-devel  # SUSE 15.6以降
GNOME DisksのGithubから、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf gnome-disk-utility-<バージョン>.tar.gz cd gnome-disk-utility-<バージョン>
または、git cloneコマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/GNOME/gnome-disk-utility.git cd gnome-disk-utility # または git clone https://gitlab.gnome.org/GNOME/gnome-disk-utility.git cd gnome-disk-utility
GNOME Diskをビルドおよびインストールする。
# GNOME Disks 45以降 meson build --prefix=<GNOME Disksのインストールディレクトリ> -Dlogind=libsystemd -Dgsd_plugin=true # GNOME Disks 44以前 meson build --prefix=<GNOME Disksのインストールディレクトリ> -Dlibsystemd=true -Dgsd_plugin=true ninja -C build -j $(nproc) ninja -C build install
次に、GNOME Disksの起動用ラッパーシェルスクリプトを作成する。
vi /<GNOME Disksのインストールディレクトリ>/bin/gnome-disks.sh chmod u+x /<GNOME Disksのインストールディレクトリ>/bin/gnome-disks.sh
 #!/usr/bin/env sh
 
 appname="gnome-disks"
 
 # use -f to make the readlink path absolute
 dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
 
 if [ "$dirname" = "." ]; then
    dirname="$PWD/$dirname"
 fi
 
 # Initialize interpreter path
 export LD_LIBRARY_PATH="$dirname/../lib64:$LD_LIBRARY_PATH"
 export XDG_DATA_DIRS="$dirname/../share:$XDG_DATA_DIRS"
 
 # Run GNOME Disks binary
 "$dirname/$appname" "$@"
最後に、GNOME Disksのデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/GNOME_DiskUtility.desktop
 # ~/.local/share/applications/GNOME_DiskUtility.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Name=Disks
 Comment=Manage Drives and Media
 Exec=/<GNOME Disksのインストールディレクトリ>/bin/gnome-disks.sh
 
 # Translators: Do NOT translate or transliterate this text (this is an icon file name)!
 Icon=/<GNOME Disksのインストールディレクトリ>/share/icons/hicolor/scalable/apps/org.gnome.DiskUtility
 Categories=GNOME;GTK;Utility;X-GNOME-Utilities;
 
 # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
 Keywords=disk;drive;volume;harddisk;hdd;disc;cdrom;dvd;partition;iso;image;backup;restore;benchmark;raid;luks;encryption;S.M.A.R.T.;smart;
 
 Terminal=false
 StartupNotify=true
 DBusActivatable=true
 X-Purism-FormFactor=Workstation;Mobile;
 X-GNOME-UsesNotifications=true
使用方法
- USBメモリ等のストレージをPCに挿入する。
 - GNOME Disksを起動する。(
gnome-disk-utilityコマンドを入力して実行することもできる) - GNOME Disksのメイン画面左からストレージを選択して、右上のメニューボタン(最小化ボタンの左)から[Restore Disk Image]を選択する。
 - OSのISOファイルを選択する。
 - [Start Restoring]ボタンを押下して書き込む。
 
ROSA ImageWriter
概要
ROSA ImageWriterは、起動可能なストレージを作成できるソフトウェアである。
ROSA ImageWriterのインストール
RHEL / SUSE
ROSA ImageWriterの公式Webサイトにアクセスして、ROSA ImageWriterをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xvf RosaImageWriter-<バージョン>-x86_64.tar.xz cd ~/RosaImageWriter
ROSA ImageWriterを起動するため、以下のコマンドを実行する。
sudo ./RosaImageWriter
使用方法
まず、ROSA ImageWriterのメイン画面にて、[Image:]項目の右にあるボタンを押下して、ISOファイルを選択する。
次に、[USB Device:]項目の右にあるボタンを押下して、ストレージを選択する。
最後に、[Write]ボタンを押下して書き込みを開始する。
ROSA ImageWriterで起動可能なストレージを作成するには時間が掛かるので注意すること。
DDコマンド
概要
ddコマンドは、LinuxやUNIX系OSで使用されるデータ転送ツールである。
主にディスクのコピー、バックアップ、デバイス間のデータ転送に利用される。
データのブロック単位での操作を可能にしており、非常に柔軟性の高いコマンドである。
元々は磁気テープ装置でのデータ転送を目的に開発されたが、現在ではストレージ、パーティション、ファイル等の様々なデバイスやデータに対して操作を行うことができる。
ddコマンドは、直接的にバイト単位のコピーを行うため、イメージファイルの作成や復元、ディスクの完全消去等にも活用される。
例えば、ディスク全体のバックアップを取得する場合や特定の領域だけを操作したい場合等にも柔軟に対応できる。
入力元(if=で指定)と出力先(of=で指定)を定義することにより、任意のデバイスやファイル間でデータをやり取りすることができる。
また、ブロックサイズ(bs=)やカウント(count=)といったオプションを付加することにより、データを効率的に扱うことができる。
※注意
ddコマンドは、操作内容が誤るとデータが上書きされて復元が難しくなるケースがあるため、慎重に使用する必要がある。
また、ddコマンドは終了まで進捗が表示されないため、現在の処理状況を確認するためには別途シグナルを送る必要がある。
使用方法
ターミナルで起動可能なストレージを作成する場合は、次の手順に従う。
まず、lsblkコマンドを使用して、Linuxに接続されている全てのストレージのラベルを確認する。
このコマンドを実行する時は、ストレージが接続されていることを確認すること。
もし、接続したストレージが見つからない場合は、このテーマに関する詳細なガイドに従う。(lsblkコマンドの読み出し方法を記載する)
lsblk
起動可能なストレージを作成するため、以下のコマンドを実行する。
sudo dd if=/dev/sdx of=<ISOファイルのフルパス>.iso status=progress
プログレスバーメッセージが更新されなくなる時、書き込みが完了する。
WeoUSB
まず、Microsoftの公式Webサイトにアクセスして、Windowsのイメージファイルをダウンロードする。
次に、WoeUSBの実行に必要なライブラリをインストールする。
sudo zypper install bash coreutils util-linux grep gawk wget parted dosfstools ntfs-3g grub2 wimtools limwib15
                    gettext  # オプション : メッセージの国際化(I18N)をサポートする場合
                    p7zip    # オプション : Windows 7の場合 (インストールメディアがUEFIブートローダを適切な場所に同梱していない問題を回避するため)
ブータブルストレージでNTFSファイルシステムをサポートする場合は、UEFI-NTFSのGithubにアクセスして、UEFI-NTFSファイルをダウンロードする。
WoeUSBのGithubにアクセスして、WeoUSBをダウンロードする。
または、git cloneコマンドを実行して、WeoUSBをダウンロードする。
git clone https://github.com/WoeUSB/WoeUSB.git
WoeUSBを実行して、Windowsのイメージファイルをストレージに書き込む。
sudo ./woeusb --device <Windowsのイメージファイルのパス> /dev/sdX sudo ./woeusb --partition <Windowsのイメージファイルのパス> /dev/sdXY
WoeUSBの実行時において、以下に示すようなエラーが出力される場合がある。
 
blockdev: ioctl error on BLKRRPART: Device or resource busy または blockdev: BLKRRPART でioctlエラーが発生しました: デバイスもしくはリソースがビジー状態です
これは、512[KB]のパーティションに1[MB]のファイルを書き込もうとしたために発生する。
WoeUSBの問題であり、、既に修正されているがリリースはされていない。
WoeUSBはシェルスクリプトファイルであるため、変更を加えることでユーザ側で修正が可能である。