Surface Pro で Kali Linux を USB 起動してみた

Share on FacebookTweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Share on RedditShare on TumblrEmail this to someone

半年程前にチャレンジして、どうしても上手くいかず諦めてたんだが、OSのバージョンも上がってるだろうしという事で、再度チャレンジしてみた。

Surface I Pro + Red boot screen Kali Linux + Surface I Pro
「最終目標」

Kali Linux を USB で起動して、Persistence を使って設定や編集したファイルなどを維持できるようにする。

 

「使った物」

・ 16GB USBメモリー (Windows ディスク管理で適当なサイズでFAT32を作って置く。Win32 Disk Imageerが切りなおすので、Win32 Disk Imageerに認識させるために作るだけ)
・ Surface Pro
Kali Linux light ISO (2.0 64bit)
Win32 Disk Imager (Version 0.9.5)

 

「手順A」

1. Win32 Disk Imager で、事前に作っておいたFAT32領域に ISO を書き込む。
Linux Boot領域と、EFI用FAT32領域75MBを作り、残りは未割当となる。

2. これとは別にSurfaceのBIOSを設定するために、ヴォリュームの+ (プラス) ボタンを押しながら、電源投入
Surfaceの文字でたら離してOK。

3. BIOSメニュー見たいな画面で、EUFI、TPMの両方を無効にする。

TMP無効にしたらSurface起動画面が赤になる。有効にすると黒に戻るけど、USB Bootできなくなるので、赤のまま使うw

 

「手順B」

Win32 Disk ImageerでISO書き込むと、パーティションを作りなおしてくれる。Windows上から、75MB程度のドライブが見えるようになってて、EFI/BOOTのフォルダーやファイルが作られている。

1. 既にある EFI/BOOT/ に、以下のファイルを Debian FTP から持ってきてコピーする。
BOOTX64.efi (上書きする)
grubx64.efi
grub.cfg

2. grub.cfg をメモ帳とかで開いて以下をコピペ。
ただし、この3行は後々必要になるので、スマホやメモ書きでみれるようにしとくと便利。

grub.cfg ファイルの内容

3. Surfaceをシャットダウン

4. ヴォリュームのマイナスボタン押しながら電源投入

5. 手順Aが済んでれば、Linuxの起動メニューがでてくる。
でも、どちらを選んでもエラーになるはず。(ドライブ指定がずれてるから。)

 

「手順C」

Linuxが入ったドライブを探す。

1. 手順B のLinuxの起動メニュー画面で「C」ボタンを押し、コマンドモードへ遷移する。

2. ls でドライブ一覧を表示し、msdos と付いたドライブを探す。(msdosはWindowsフォーマットのドライブ)
例: (hd0,msdos2)

3. ls でmsdosとついたドライブの中身を見て、手順Bの時に見てるはずの EFI、Live、Install のディレクトリーがあるものを探す。
コマンド例> ls (hd0,msdos2)

 

「手順D」

コマンドから手動で、正しいディレクトリーを指定して起動するために、cfgに書いた以下の3行を思い出す。

1. 手順Cで見つけたドライブを指定して、Setコマンドを実行

2. 2行目をそのまま実行

3. 3行目をそのまま実行すると、なんかメッセージがでてくる。

4. 以下のコマンドを実行して、Linuxを起動

これで起動することが確認できたら、grub.cfg をVIとかで書き直す。しかし、SDカードを入れてるせいかドライブ番号がいつも変わるようで、一回grub.cfgを書き換えても、次回起動できる保証がない。その為、起動メニューにドライブ名だけ変えた物を作っておくと良いかも。例えば、(hd0,msdos1)で起動するものと、(hd1,msdos2)で起動するものといった感じで、cfg のroot=をかえるだけで良い。Linuxの起動メニュー画面で、msdos1で起動できなかったら、msdos2の方を選べば良いだけ。

 

「手順E」

やっと、ここからが Persistenceの設定で、Kali 上での作業
1. gparted (メニューか、gparted コマンドで起動)

2. USB の2個目のパーテーションを指定して、以下の設定で領域を作成。Labelは必ずpersistenceにする。
Format: ext4
Label: persistence

3. 出来たパーテーション名を覚えておく
例: /dev/sdc2

4. 以下のコマンドをそれぞれ実行。/dev/sdc2 は、手順3のパーテーション名に変更する。

5. presistence.conf が作成されてる事を確認したら、再起動

6. 確認作業として、再起動後、Rootとかにファイルを新規作成。

7. また再起動して、そのファイルが残ってたらOK

Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です