root化とかカスタムROMとか

いろいろいじってます

LinuxをUSBにインストールしてほぼ全てのパソコンで起動可能にする(2)

jesuscorona.hatenablog.com

前回の続きで今回はUEFIのパソコンで起動できるようになったUSBメモリーを、BIOSのパソコンでも起動できるようにしていきます。

経緯

前回作成したUSBメモリーは、UEFIを使っているパソコンであれば大抵使うことができるので、例えば他人のパソコンでもUSBメモリを挿すだけで自分のパソコンと同じように使うことができます。しかし、古いパソコンの場合、UEFIではなくBIOSになっているので、それに対応したものでないと起動することはできません。WindowsLinuxインストーラー自体はどちらのパソコンにでもインストールできるようになっていますが、UEFIBIOSのどちらかを判別して、必要な方しかインストールしない仕組みになっています。

導入

今回もVirtual Boxで行っていきますが、以前作成したものとは別のUbuntuパソコンがある場合はそちらを使ったほうがいいかもしれません。前回と同じようにインストーラーのisoから起動し、Virtual Box側でUSBメモリーを認識できていることが確認できたら、アプリケーションからterminalを開き、以下のコマンドでアンマウントさせます。

$sudo umount /dev/sda2

アンマウントできたら/mntにマウントしていきます。

$sudo mount /dev/sda2 /mnt

sda1がEFI領域で、起動するためのファイルなどが置いてあり、sda2がOSなど主体となります。sda2をマウントし、そちらをBIOSでも起動できるようにします

$sudo grub-install --target=i386-pc --boot-directory=/mnt/boot --force /dev/sda

no errorなどと書かれていれば成功です。

まとめ

f:id:jesuscorona:20190619235329j:plain この作業が終われば、アンマウントしてBIOSのパソコンに挿して使うことができます。尚、今回作成したUSBメモリーは64bitOSなので、WindowsXP以前の多くの32bitパソコンでは使うことができません。また一部のWindows8や10を搭載したタブレットやスティックPCでは、32bitUEFIという珍しい規格を使っている関係で、そのままでは動かすことができません。そこで次回は、そのような32bitUEFIの端末でも使えるようにする方法を書いていきたいと思います。