ubuntuの18.04やそれに相当するLubuntuや、Linux Beanなど、ISOファイルをを起動可能なライブUSBに焼いたとき、これはUEFIでも旧BIOSでも起動可能である。
ところがPuppy LinxはISOファイルをUSBメモリに焼くと旧BIOS(MBRというのか)では起動できるがUEFIに対応していない。正確に書くとunetbootinやuniversal-usb-installerなどのブータブルUSBを作るソフトで作成した起動可能なPuppyは旧BIOSでしか立ち上がらない。ubuntu系は同じ方法で焼いてもきちんとUEFIでも起動する。
rufusというソフトは明示的にBIOS(MBR)から起動するのかUEFIから起動するのかを選択するようになっており、ここでUEFIを選べばUEFIから起動可能だが逆に旧BIOSでは立ち上がらない。
少し古い、HP8200ELITEや8300ELITEなどは設定によるがUEFIでもMBRでも起動可能だが、例えばDynabook R732/HはUEFIかMBRか、BIOSで指定したどちらかの方法でしか起動できない。
Puppy Linuxの使い方はPC内蔵HDDにインストールして使うよりは、専らUSBメモリにインストールし、いろいろなPCで急遽Linuxが必要になったときに用いる、という使い方が多い。Puppyは同じUSBメモリ上に設定や履歴などを保存可能であるため様々なPCを渡り歩くにはすこぶる便利である。ところが旧BIOSのPCとUEFIのPCが混在してくると、PuppyをBIOS用とUEFI用と2つ必要となってしまう。
と思っていろいろ調べていたら、解決方法を発見した。方法は、まずpuppyを起動し、メニューからセットアップ→Boot FluashパピーをUSBメモリにインストールを選ぶ。この後USBメモリを選択したあと、UEFI USBインストーラを選ぶ。
ここで間違えてUSBドライブにISOファイルを書き込む、を選んでしまうとあとでえりゃーことになるので気をつけた方が良い。こっちを選ぶとUSBメモリがシステム側からCDROMに見えてしまい、フォーマットできなくなってしまう。
で、最後にMBRからもブートできる用にしますか、的なことを聞かれここでyesと答えれば両方で起動可能なpuppyが出来上がる。
MBRとUEFIとどちらからでも起動できるUSBの仕組みがどうなっているのか、知りたい。