[情報技術] 「単体で動く」への移行 -- Phar、Appimage
単体で動くプログラムへの移行の流れがあります。
例えば、PHPではPhar、LinuxではAppimage。Phar形式のPHPスクリプトはPhar拡張モジュールなしでも動きますし、AppimageはどのLinuxディストリビューションでも、実行権限をつけるだけで動くようになっています。
それぞれについて詳しく知りたければ、公式ドキュメントをご覧ください。
単体で動くプログラムへの移行の流れがあります。
例えば、PHPではPhar、LinuxではAppimage。Phar形式のPHPスクリプトはPhar拡張モジュールなしでも動きますし、AppimageはどのLinuxディストリビューションでも、実行権限をつけるだけで動くようになっています。
それぞれについて詳しく知りたければ、公式ドキュメントをご覧ください。
ポータブルLinuxを作ろうと、USB外付けSSDに最新ubuntuおよびブートローダーをインストールしたところ、外付けSSDを外した状態で内蔵HDDのブートローダーが読み込まれなくなりました。
UEFI環境では駄目なのでしょうか。インストーラの不具合という情報を見かけましたが、確証を得られていません。
そこで、外付けSSDを接続した状態で内蔵HDDのLinuxを起動し、内蔵HDDのブートローダーを再インストールすることで解決しました。
●手順1 Linux本体のいるパーティションを知る
次のどちらの方法でも知ることができます。
$ sudo fdisk -l
$ lsblk -fp
●手順2 ブートローダー(GRUB)をインストール
Linux本体のパーティションが /dev/sda4 であるとしますと、インストールのコマンドは次のようになります。
$ grub-install /dev/sda
●補足 起動ディスクのLinuxでGRUBインストールをする場合
もしもLive USBからGRUBのインストールを行い場合は、予めLinux本体のパーティションを /dev に紐つけておく必要があります。
$ mount /dev/sda4 /dev
結局ポータブルLinuxは生成できませんでしたので、セキュアブート周りを確認したり、外付けSSDのブートローダを再インストールすることを試す必要があります。
●追記
Ubuntuのインストーラーの不具合で、ブートローダーのインストール先をどこに設定しようと、最初に発見したEFIパーティションにブートローダーをインストールするようです。内蔵ストレージも外付けSSDもすべて登録されてしまうので、外付けSSDを外すと起動できなくなるわけです。
対応策としては、BIOSのBOOT設定で内蔵ストレージのEFIをOFFにすることが有効です。
sknote2 v2.0.2 © CANADOH