Ndictです。
みなさんは、Kaliを何で動かしていますか?
VirtualBoxやVMwareWorkstationPlayerでしょうか。
私はLIFEBOOKの内蔵容量が心もとない上に、Kaliの「everything」構成はツール全部入りでサイズも大きいです。
さらに、調査用に扱うパスワード帳はどうしても肥大化していくものなので、仮想環境よりSSD単位で分けて運用する方が整理もしやすいと思いました。
趣味でKingstonの外付けSSDを複数持ち歩いており、そこに各種Linuxディストリビューションを入れて、富士通LIFEBOOK(FMVU4902E)で使っています。
今回は、Kaliを外付けSSDに入れて、必要なときにLIFEBOOKで起動できるようにする、という話です。
ところが、これが想像以上に難航しました。
備忘録として、起きたことと最終的な解決策を整理します。
環境と前提
-
- 機種:富士通LIFEBOOKFMVU4902E(UEFI専用機)
- 目的:KaliLinuxを外付けSSDからUEFIブート
- インストーラ:Rufusで作成(GPT/UEFI)
- BIOS設定:SecureBootは事前にOFF、FastBootを無効化、CSM/Legacy項目は見当たらず
- 外付けSSD:Kingston125GB・256GBを複数運用
まずやったこと(そして失敗)
通常インストール→失敗
Rufusで通常どおりインストールUSBを作り、インストーラを進めましたが、終盤で失敗しました。
SecureBootはあらかじめ無効化。
加えてBIOSでFastBootを無効化。
ただし、本機はCSM/Legacyが存在せず、互換モードへの切り替えはできません。
インストールの最後あたりで失敗したため、先にGRUBを入れてみる発想も試しましたが、こちらもGRUBインストールで失敗しました。
そのほか試したこと(いずれも未解決)
- USBメディアの作り直し(同ISOをRufus/balenaEtcherで再フラッシュ)
- インストーラ起動時にGRUBを一時編集(
e
→linux行にipv6.disable=1
を付与→Ctrl+X
またはF10
で起動) - パッケージ選択を極小化(最小構成での導入)
どれも決定打にならず、LIFEBOOK本体からのインストールは一旦撤退しました。
方針転換:別PCでインストール→でもLIFEBOOKでは起動せず
別PC(デスクトップ)にSSDを直挿ししてKaliをフルインストールしました。
導入自体は問題ありませんでした。
ところが、SSDを外付けケースに入れてLIFEBOOK側でF12ブートメニューから選ぼうとしても、UEFIの起動候補にドライブが出てこない、または選んでも起動しない事象に遭遇しました。
ここまでで見えてきたのは、OSの中身ではなくUEFIの起動経路(ESP/ブートローダ)側の問題ということです。
環境と前提
UEFIマシンは、外部デバイスなどNVRAMエントリがなくても規定のフォールバックパスを探索します。
具体的には\\EFI\\BOOT\\BOOTX64.EFI
です。
ここにGRUBのEFIバイナリを置き、最小のgrub.cfg
を添えれば起動できます。
実際に下記の手順でLIFEBOOKでも起動成功しました。
注意:以下の操作は、EFIシステムパーティション(ESP)を直接編集します。DiskPartの対象ディスク/パーティションは、必ず確認してください。
まずやったこと(そして失敗)
- WindowsでESPにドライブレターを付与(DiskPart)
1234567diskpartlist diskselect disk <外付けSSDの番号>list partitionselect partition <ESPの番号> ; 通常数百MB / FAT32 / Systemassign letter=Sexit - GRUBのEFIをフォールバック位置にコピー
12New-Item -ItemType Directory -Force -Path S:\EFI\BOOT | Out-NullCopy-Item -Force S:\EFI\kali\grubx64.efi S:\EFI\BOOT\BOOTX64.EFI - 最小の
grub.cfg
を配置
123456$cfg = @'search --no-floppy --set=root --file /boot/grub/grub.cfgset prefix=($root)/boot/grubconfigfile $prefix/grub.cfg'@Set-Content -Path S:\EFI\BOOT\grub.cfg -Value $cfg -Encoding ASCII - 安全に取り外してLIFEBOOKで起動
mountvol S: /d
でESPのマウントを解除してから取り外し- LIFEBOOKのF12ブートメニュー→外付けSSD(UEFI)を選択→Kali起動成功
なぜこれで動くのか
- 外部デバイスのUEFIブートではNVRAMエントリがなくても
\\EFI\\BOOT\\BOOTX64.EFI
を探索する仕様があるため、ここにGRUBを置けば読み込みます。 grub.cfg
は既存の/boot/grub/grub.cfg
に委譲するだけの最小構成でいけます。
通常インストール→失敗
- CSM/Legacyがない:互換モードに逃げられないため、UEFI一択で整える必要がある。
- FastBootの影響:一部のデバイス初期化が省略され、起動メディアが認識されにくいことがある。無効化して正解。
- インストール終盤の失敗:インストーラのネットワークやパッケージ取得の不調がGRUB導入失敗を誘発することがある。今回は、別PCで完走+フォールバック構成が早かった。
おわりに
最終的には、UEFIのフォールバックパスを使って起動経路を固定することで解決しました。
また、Kaliを外付けSSDで持ち歩く、という当初の目的は達成できました。
LIFEBOOKのように、CSM/Legacyを持たないUEFI専用機では、このアプローチがシンプルで確実だと思います。
この記事が同じ状況の方の助けになれば幸いです。