Kali LinuxをデュアルブートでUSBメモリからインストールする

# 準備
- Macで作業
- USBメモリ(4GB以上くらい)
- インストールするPC(ここではVAIO)
- USBメモリをインストールメディアにする参考サイトは[こちら](http://marmotte.pyrites.jp/blog/2015/01/04/create-bootable-usb-from-iso-file/)

---

# USBメモリを使用してインストールディスクを作成
## ISOファイルをダウンロード
- Kali LinuxのサイトからISOファイルをダウンロード
    - https://www.kali.org/downloads/
    - ここでは```Kali Linux 64bit ISO 2.9G 2016.2 25cc6d53a8bd8886fcb468eb4fbb4cdfac895c65```をダウンロードすることとする

## USBメモリをインストールメディアにする
### USBメモリをフォーマットする
> Kali LinuxのISOが3GBほどあるのでここでは4GBのUSBメモリを使用

- MacのiTermからUSBメモリのパスを調べる
    - ```$ diskutil list```
    - ディスクサイズ等からインストールメディアにしたいUSBのパスを特定
- ```diskutil```コマンドでUSBメモリをフォーマットする
    - 著者のUSBメモリのパスが"disk2"、名前が"NO NAME"だったので下記コマンドだが、各自のUSBメモリごとに該当箇所を書き換えて下記コマンドを実行

```
$ diskutil eraseDisk MS-DOS NO\ NAME /dev/disk2
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk2s2 as MS-DOS (FAT) with name NO NAME
512 bytes per physical sector
/dev/rdisk2s2: 7448328 sectors in 931041 FAT32 clusters (4096 bytes/cluster)
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=7462912 bspf=7274 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2
```

### USBメモリにISOファイルを書き込む
- USBメモリをアンマウント

```
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
```

- ```dd```コマンドでUSBメモリをインストールメディアにする
    - ```bs=1024```の部分は作業するマシンのメモリの空き容量に応じて設定する
    - マシンスペック(メモリ容量)に対してbsがでかすぎるとswapするが、小さすぎると処理が増える
    - ここでは1024とした
    - (about 30 min.)

```
$ sudo dd if=....../kali-linux-2016.2-amd64.iso of=/dev/disk2 bs=1024
```

- ここで引数エラーが出た場合は```bs```の値を小さくする

```
dd: .../kali-linux-2016.2-amd64.iso: Invalid argument
0+0 records in
0+0 records out
0 bytes transferred in 0.000035 secs (0 bytes/sec)
```
- USBメモリの取り外し

```
$ diskutil eject /dev/disk2
```

---

# Kali Linuxをデュアルブートでインストールする
> もともとWinが入ってたパソをインストールするマシンに使用した

- USBメモリを挿し、電源ボタンを押して起動する
- 起動直後にF12キーを押し、Kali linuxのインストーラを起動する
- "Graphical install"を選択
- "Select a language"画面では"English"とする。読めればなんでもよい
- "Select your location"画面では、選択肢に日本がなかったので"other"を選択
    - 次以降の画面で、"Asia"、"Japan"を選択
![localechooser_shortlist_1.png](https://qiita-image-store.s3.amazonaws.com/0/133933/a279d075-1df3-558e-5a9f-f6a957070eed.png)
![localechooser_continentlist_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/217f4d30-2b43-b85d-60cb-2d79e6dafd96.png)
![localechooser_countrylist_Asia_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/b3380dc0-bef2-12b1-b31f-9060e1ecde20.png)

- "Configure locales"に日本が出てこない…→ここでは"United States"を選択
    - 設定した言語と国の組み合わせで特定しようとするっぽい
![localechooser_preferred-locale_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/73db084d-45b8-0f08-37fd-1d11a05d930d.png)
- "Configure the keyboard"では使用しているキーボードの種類("Japanese")を選択
    - なにやら勝手にloadが始まる
![keyboard-configuration_xkb-keymap_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/e1e2b35d-75e7-a184-f586-64af2dc3e4d3.png)

- "Configure the network"が出てきたとき、ネットの使用環境を選択
    - ```enp5s0```と```wip2s0```の2択あったが、wireless使用を前提としているため、```wip2s0```で決定した
![netcfg_choose_interface_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/d884cf98-c822-74b3-0428-916a7fdf0b29.png)

- 使ってるWi-Fiをその場で選択し、パスワードを入力
![netcfg_wireless_security_type_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/04d782ed-6e37-e9b3-24c5-8462f3a71988.png)
![netcfg_wireless_wpa_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/b0d17ce9-665d-7502-bf18-b2435eb746ac.png)
- hostnameを好きな名前に設定
![netcfg_get_hostname_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/1b27c744-5ad9-6114-4573-f28282ead290.png)
- domain nameは空欄のまま"continue"した
![netcfg_get_domain_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/81241b13-db08-ab99-d551-19fd04811537.png)
- root passwordを設定(2回入力を求められる)
![passwd_root-password_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/42151490-51a6-30b9-4007-4106469c9968.png)

- "Partition disks"設定画面では、"Manual"を選択し、消したいOSの領域をDeleteしてディスク容量の空きfree spaceを作る
- 作成したfree spaceに新しいパーティションを作成する
    - free spaceすべて使うこととする
- free spaceを選択し、"create a new partition"すると、サイズとpartitionの場所を設定するよう表示が出る
    - 30GBくらい(ネットサーフしかしないのであればもっと少なくてよい)のrootをBeginningに、メモリの倍のサイズのswapをEndに、残りをhomeに設定

|Partition:|Size|Type|Location|Use as|Mount point|
|--:|:-:|:-:|:-:|:-:|:-:|
|Root:|30GB|Logical|Beginning|Ext4|/|
|Home:|159GB|Logical|Beginning|Ext4|/home|
|swap:|16GB|Logical|End|swap area|-|

![partman_choose_partition_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/28172a3c-e6d7-2029-14b0-03228568099b.png)
![partman_active_partition_5.png](https://qiita-image-store.s3.amazonaws.com/0/133933/5ab33094-bb9e-d6dc-7158-33988c0daa0a.png)
![partman_active_partition_3.png](https://qiita-image-store.s3.amazonaws.com/0/133933/66a6a54e-6b58-70a2-9b9a-52ef3c833b5c.png)
![partman_active_partition_4.png](https://qiita-image-store.s3.amazonaws.com/0/133933/7a1caa63-476f-1a0b-4f4d-e47744596a69.png)

- "Finish partitioning and write changes to disk"を選択し、フォーマットする領域が表示されているか確認し(重要!データを消去してKaliをインストールする領域)、partition作成を進める
![partman_choose_partition_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/b268ea05-eac5-9510-3d75-2d3f56ac9e68.png)

- network mirrorの方がバージョンが新しいというメッセージが表示される。"Use a network mirror?"には"Yes"にしておく。
![apt-setup_use_mirror_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/65460e5f-424f-a24b-6db1-40189a128f9c.png)

- proxyの設定。なければ空欄のまま
![mirror_http_proxy_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/ac0e7c76-4363-a8d4-e717-4f4dff85470e.png)

- master bootにするかどうか選択(最初に起動するOSに設定するか?)し、HDDにGRUBをインストール
![grub-installer_with_other_os_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/3956c6d6-7771-5d99-ca59-b07a5af0deb2.png)

- "Finish the installation"画面が表示されたら"continue"を選択し、もとの画面に戻ったら電源を落としてUSBメモリを取り外す
- ![finish-install_reboot_in_progress_0.png](https://qiita-image-store.s3.amazonaws.com/0/133933/941bf953-8a0e-7128-820c-b3a263f91e65.png)

- 再度電源ボタンを押して起動する
- kali linuxにloginする際のusernameは"root"、パスワードは2回入力したやつ