USBメモリなどにisoを書き込んで起動デバイスを作れるとても便利なUNetbootin
というツールがあります.
しかし,Debian jessie/stretchに入っていません.
なんでだろうとBTSを見るとうまく動かないバグがあるようです.(UEFI環境でNG?)
ざざっと眺めていてmkusb
という同じようなツールがあるのを見かけたので試してみました.
環境
Debian stretch testing amd64
です.
$ screenfetch
_,met$$$$$gg. mk@x220
,g$$$$$$$$$$$$$$$P. OS: Debian testing-updates sid
,g$$P"" """Y$$.". Kernel: x86_64 Linux 4.3.0-1-amd64
,$$P' `$$$. Uptime: 9h 7m
',$$P ,ggs. `$$b: Packages: 3622
`d$$' ,$P"' . $$$ Shell: bash 4.3.42
$$P d$' , $$P Resolution: 1366x768
$$: $$. - ,d$$' WM: Awesome
$$\; Y$b._ _,d$P' WM Theme: awesome
Y$$. `.`"Y$$$$P"' CPU: Intel Core i5-2540M CPU @ 3.3GHz
`$$b "-.__ GPU: Mesa DRI Intel(R) Sandybridge Mobile
`Y$$ RAM: 9768MiB / 15934MiB
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
Ubuntuはppaがあります.DebianはUbuntuのppaが使えます.他のLinuxディストリビューションでは導入スクリプト( mkusb-installer
)が用意されています.
導入(ppa)
source.listを登録します.apt edit-sources
コマンドでdeb http://ppa.launchpad.net/mkusb/ppa/ubuntu trusty main
を登録します.
$ sudo apt edit-sources mkusb
$ sudo chmod +r /etc/apt/sources.list.d/mkusb.list
$ cat /etc/apt/sources.list.d/mkusb.list
# "mkusb/install-to-debian - Community Help Wiki"
# https://help.ubuntu.com/community/mkusb/install-to-debian
deb http://ppa.launchpad.net/mkusb/ppa/ubuntu trusty main
$ gpg --keyserver keyserver.ubuntu.com --recv-keys 54B8C8AC
gpg: 鍵54B8C8ACをhkpからサーバkeyserver.ubuntu.comに要求
gpg: 鍵54B8C8AC: 公開鍵"Launchpad PPA for MKUSB"をインポートしました
gpg: 処理数の合計: 1
gpg: インポート: 1 (RSA: 1)
$ gpg --fingerprint 54B8C8AC
pub 4096R/54B8C8AC 2014-08-14
フィンガー・プリント = 29D7 6ADA 2D15 A87B F4C6 8B82 3729 8274 54B8 C8AC
uid Launchpad PPA for MKUSB
$ gpg -a --export 54B8C8AC | sudo apt-key add -
OK
$ apt-key list|grep -A1 54B8C8AC
pub 4096R/54B8C8AC 2014-08-14
uid Launchpad PPA for MKUSB
パッケージリストの更新とmkusbパッケージの導入
$ sudo apt update
$ sudo apt install mkusb mkusb-nox
$ dpkg -L mkusb
/.
/usr
/usr/share
/usr/share/mkusb
/usr/share/mkusb/mkusb-start
/usr/share/mkusb/restore
/usr/share/mkusb/mkusb-st2
/usr/share/mkusb/usb-pack_efi.tar.gz
/usr/share/mkusb/grub.cfg
/usr/share/mkusb/maybe-problems.txt
/usr/share/mkusb/backup
/usr/share/icons
/usr/share/icons/mkusb.svg
/usr/share/icons/hicolor
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/scalable/apps/mkusb.svg
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/48x48/apps/mkusb.png
/usr/share/doc
/usr/share/doc/mkusb
/usr/share/doc/mkusb/README.Debian
/usr/share/doc/mkusb/copyright
/usr/share/doc/mkusb/changelog.Debian.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/mkusb.8.gz
/usr/share/applications
/usr/share/applications/mkusb.desktop
/usr/sbin
/usr/sbin/mkusb
$ dpkg -L mkusb-nox
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mkusb-nox
/usr/share/doc/mkusb-nox/copyright
/usr/share/doc/mkusb-nox/changelog.Debian.gz
/usr/sbin
/usr/sbin/mkusb-nox
実行例
メニューから起動するか,
$ sudo -H /usr/sbin/mkusb
のようにして起動します.書き込むイメージが決まっている場合は引数に指定できます.イメージには.gzや.xzも指定可能なので展開の手間が省けます.
$ sudo -H /usr/sbin/mkusb ./alpine-3.3.1-x86_64.iso
スプラッシュが出て,
メニューが出てきます.cloneやwipeも可能です.
書き込み先のデバイスは間違えないようにしましょう.間違えるととても悲しいことになります.ちなみにSD Cardスロットの/dev/mmcblk0
は検出されませんでした.USB-SDアダプタ経由だと出てきました.
確認画面でチェックを入れて「Go」ボタンで書き込みが始まります.
実行例(nox)
mkusb-nox
コマンドを使うと端末で利用できます.nox版では複数のUSBメモリがある場合の選択方法はわかりませんでした.書き込むデバイスだけを差し込むようにするしか無いかもしれません.
$ sudo /usr/sbin/mkusb-nox ./alpine-3.3.1-x86_64.iso
The iso file SHOULD BE loop mounted on a temporary file READ-ONLY:
mount: /dev/loop0 is write-protected, mounting read-only
disk_name_type=label
default grsec|label grsec| _found_ in iso-file
default grsec|label grsec| _found_ in /dev/sdb
Final checkpoint
Install to /dev/sdb? (y/n)
y
pv "alpine-3.3.1-x86_64.iso"| dd of=/dev/sdb bs=4096 ...
82MiB 0:00:00 [ 205MiB/s] [========================================================================================================================>] 100%
20992+0 records in
20992+0 records out
85983232 bytes (86 MB) copied, 4.84297 s, 17.8 MB/s
syncing the drive ...
The default grsec|label grsec| USB device is re-cloned :-)
問題なく利用できる場合はUNetbootin
の方がマルチプラットホームだし使いやすそうです.状況により使い分けるのがいいのかもしれません.