USBメモリからブート(Stretch) ~分析・方針決定~

2019/4/15


ブート用USBメモリをつくってみたが・・・

StretchでもJessieと同様の手順でmyDebian-Liveをつくることができる。
USBメモリからDebian(Stretch)はブートできる。boot/grub/grub.cfgやsyslinux/splash.pngを書き換えたいと思っても、パーティション全体がRead Onlyでマウントされているため、起動時のオプションを編集することができない。
2019年秋くらいにはBuster(Debian10)がリリースされるであろうから、USBブートDebianは、もうすことJessieのままにするつもりだった。

USBメモリからDebianをブート・・・できない

困ったことは突然に起きる。4月某日USBメモリmyDebian-Live(Jessie)がブートできなくなった。原因はよくわからないが、公式に配布されているUbuntu-LiveやDebian-Live、Debian-installerはブートできるので、「myDebian-Liveだけがブートできない」ことが判明した。これではmyDebia-Liveではなくて「オレオレDebian-...」だ。
USBメモリをマウントしてディレクトリを比較すると・・・全然違った。
Stretch (Debian9) Official Debian-LiveJessie (Debian8) myDebian-Live
fdisk -l /dev/sdd
より抜粋
Device     Boot Start     End Sectors  Size Id Type
/dev/sdd1  *        0 3811391 3811392  1.8G  0 Empty
/dev/sdd2        1432    2263     832  416K ef EFI (FAT-12/16/32)
ユーザ領域は未作成
sdd1は書き込み禁止,sdd2は書き込み許可
mount: /dev/sdd1 is write-protected, mounting read-only
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdd1  *       2048  1884159  1882112  919M 83 Linux
/dev/sdd2       1884160 61833215 59949056 28.6G 83 Linux
sdd2はユーザー領域(persistence)として使用
sdd1,sdd2どちらも書き込み許可
tree /mnt
より抜粋
#/dev/sdd1
#/dev/sdd2
#/dev/sdd1

疑問

原因はUEFI? 幸運の女神様に見放された?

「オレオレDebian-...」はレガシーな環境を前提としてイメージを作っているのでgrubがあり、BIOS環境下ではブートする。
最近の環境UEFIでも「legacy emvironment」みたいな設定をして「オレオレDebian-...」を使用していた。
ブートできない問題が発生する数日前BIOSを更新したらしく、「あたらしいUEFI」では「legacy」を設定しても「オレオレDebian...」はブートできない。
今後、レガシーな環境をサポートしないPCに置き換わることは間違いないだろう。いつまでも古い方法でブートできるはずはない。むしろ、レガシーな「オレオレDebian-...」が使えたことはラッキーだっただけだ。
結論:UEFIでブートするmyDebian-Liveをつくる

方針

諸般の事情により3日間で解決したい。原因を特定するためすでに1日使ってしまった。 多分できる気がする(根拠はない)が、残り時間的が問題だ。
新規にブートイメージを作ることは時間的に厳しい。「本当のmyDebian-Live」すべてが終わった後、落ち着いて作ることにする。
第一目標として

こののち、実験室固有の設定を第二目標とする。これはこれできっといろいろハマると思うので、第一目標に割当ができる時間は1日とする。
第一目標を解決できない場合、代替手段を探すことになる。

世界には似たような思いをされたいる方がいるようです。あちらでも問題になっていました。 ほぼ同じ目標を設定しているので、これを参考にしてみよう。


UEFI + BIOS bootable live Debian stretch amd64 with persistence