【VirtualBox】初心者用 Arch Linux 仮想環境構築 後編

"[【VirtualBox】初心者用 Arch Linux 仮想環境構築 前編](http://qiita.com/Trouble_SUM/items/1f2694baf6b5d2420f1a)"の続きです。
こっちが本編

基本的にArchWikiの[チュートリアル](https://wiki.archlinux.org/index.php/Installation_guide)に沿って進めていきます

#Archのインストール
起動(T)を押すと新規ウィンドウが開いてArchが立ち上がる
<font color="silver">ここでエラーが起きる人はVirtualboxの問題なので出てきたエラーメッセージをコピペしてググろう</font>

![2825107237cd36d47c2dd2f3172ebc0b.png](https://qiita-image-store.s3.amazonaws.com/0/139165/c9763464-dc00-cab9-b981-218e645c35f6.png)

無事に立ち上がるとこんな感じのイカした画面が出てくるのでそのまま
Boot Arch Linux (x86_64)でEnter
![371f763af6efbaa3f6f6e7fc982b6522.png](https://qiita-image-store.s3.amazonaws.com/0/139165/e4407269-8026-38aa-3b94-4b90ec3c759c.png)
ここから先は全てキーボードでの操作になります
***
しばらく文字が流れるのを見守っているとautomatic loginでrootにログインされるのでパパっと設定していきましょう
<font color="silver">rootユーザというのは扱っているLinux(UNIX)マシン内でいう神のような存在。マシンを好き勝手にいじれるのは基本的にrootだけ。Windowsでは"管理者"なんて言い方をする</font>

```
# loadkeys jp106
```
でキーボード配列を設定。
以後このようにコマンドだけ書いていくのでその通りに打ち込んでいきましょう
<font color="silver">(コマンドの前に#とか$とか書かれているがこれはrootユーザで打つコマンドか一般ユーザで打つコマンドかを表している)
![3459fa4beebfb423b5c02144b8d020d9.png](https://qiita-image-store.s3.amazonaws.com/0/139165/8033d5fd-25d5-bb77-d7ef-363a6ec65e58.png)
<font color="silver">loadkeys jp106と打ったのに反応が帰ってこない！やり直し！？と思う人がいるかもしれないがCUI操作(すべての操作をキーボードのみで行うこと)ではこれが正常。エラーがあったときにだけ文句を言われます。</font>

VirtualBoxは自動でネットワークの接続をいい感じにしてくれるのでネットワーク接続設定は特にいりません

#パーティショニング
次にパーティションの設定を行っていきましょう。コンピュータという家の中でシステムの部屋割りを決める作業です。
いろいろ難しいので今から書く通りにバシバシ打ち込んでいきましょう
Linuxをいじっていくうちにここで何をしてたのか意味がわかってくると思います。

```
# cgdisk /dev/sda
```

なんかいろいろ言われますがそのままEnter
![365a3d19578639bf9cdf004a5e2efa6a.png](https://qiita-image-store.s3.amazonaws.com/0/139165/b70f4ff2-c74c-2e84-50df-ce3910fa717c.png)

ちょっとわかりやすい感じの画面が出てきたと思います。
下のカーソルが[New]になってることを確認してEnter
![24010da210056c4437c61c1ad872a742.png](https://qiita-image-store.s3.amazonaws.com/0/139165/df75396b-22c9-6001-fe30-a60147b06f13.png)

First sector と言われるのでそのままEnter
Size in sector~ と聞かれたら 100M とだけ入力してEnter
Current type~ と言われたらそのままエンター
Current partition name is~と言われるのでbootと名前をつけてあげましょう

ここまで終わると下のような画面になってると思います。
![62c5ba4dedf9068aa226469b10016c6c.png](https://qiita-image-store.s3.amazonaws.com/0/139165/6c40f797-17bd-5e76-0cd1-e74aeaa21e7c.png)

そしたらSizeが7.9GiBになっている列を選択してもう一度[New]

First sector~ でEnter
Size in sector~ もEnter
Current type~ もEnter
Current partition name is~ には / とだけ入力

入力が終わるとこうなる
![5e54ea6c218a84f52380cb230b79f4ab.png](https://qiita-image-store.s3.amazonaws.com/0/139165/07e947a6-5c8b-1015-23d3-a6e2960a363f.png)
<font color="silver">(間違って1007.0KiBのところを設定してしまったおっちょこちょいな方は間違えた行を選択して[Delete]するとやり直しできる)</font>

最後に一番上の1007.0KiBを選択して[New]


First sector~ …Enter
Size in sector~ …Enter
Current type~ には ef02 と入力
Current partition name is~ はそのままEnterでOK

一連の流れが終わると画面はこうなっているハズ
![f7b32ba3bdab58b869ee4861426505e2.png](https://qiita-image-store.s3.amazonaws.com/0/139165/61aae4cc-a108-17bb-1887-7f29d6f649d8.png)

確認してOKなら下から[Write]を選んでEnterを押すと
![ea7e414a544ecf7bc03bbdd50e772f19.png](https://qiita-image-store.s3.amazonaws.com/0/139165/ea7d38dd-ffec-c5b7-f3ee-ad849f755804.png)
「大丈夫！？ヤバくない！？」と言われるが特にヤバくないのでyesと答えてEnter
[Quit]で終了しよう

これでパーティショニングは終わり。

#最低限使えるように設定する
まずは先ほど分けたパーティションのフォーマットとマウント(部屋を掃除して使えるようにする)作業

```
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda1

# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
```

#いろいろインストールする前にミラーサーバの設定

```
# vim /etc/pacman.d/mirrorlist
```
<font color="silver">このvimというのはWindowsでいうメモ帳のようなテキストエディタ。</font>
<font color="silver">恐ろしく高機能だがカスタマイズしているとキリがない</font>
<font color="silver">メモ帳などに慣れたユーザからするとかなりクセのある(頭のおかしい人たちが使う)エディタなので</font>
<font color="silver">使い方を調べてわからなかったらnanoとかemacsなんかを使おう</font>
***
mirrorlistを開くとずらっと文字が出てくるが、狼狽えずに

```
/Japan
```

と打とう。vimならば"/文字列"で検索ができる
![4a8338cf11c36c24b60f27a7162dceee.png](https://qiita-image-store.s3.amazonaws.com/0/139165/265a9699-ba0e-9c1d-8398-3cb2f9bbb40a.png)
というわけで文字列がヒットしたところで

```
2dd
```

と打つと2列が切り取られる
さらに

```
gg
```

と打ちファイルの先頭に戻り、サーバーリストの一番上で

```
p
```
と押すと直前に切り取った2行がペーストされる
![fed9f6ae9e9a653e021b3f523a0085ab.png](https://qiita-image-store.s3.amazonaws.com/0/139165/e1f889ac-18b3-c8fe-98b2-be8bc07d2599.png)

同じ要領でもう一度Japanで検索し、リストの先頭に持ってきてあげよう
<font color="silver">(/Japanで検索したあとEnterを押し、nを押すと次に一致した場所に移る)

最終的にこうなったら
![0036b72fb87ee46d0ab157edef4e83a1.png](https://qiita-image-store.s3.amazonaws.com/0/139165/3ef2f26f-75f2-f0e5-4ab7-a3f48a03572b.png)

```
:wq
```

と押すと上書き保存してvimを終了できる

#基本的なシステムのインストール
そろそろArchLinuxが嫌いになってきた方が多いかもしれませんがもう山場は乗り切りました

```
# pacstrap /mnt base base-devel
```

いろいろインストールしてくれるのでしばらく待ちましょう
インストールしてる間にアニメ1本見れるくらい時間あります
***
プロンプトが帰ってきたら続きをはじめましょう

```
# genfstab -U -p /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
```

つぎにロケールの設定…

```
# vim /etc/locale.gen
```
まで打って気づいたけどvimが入ってない…ということで

```
# pacman -Syy
# pacman -Syu
# pacman -S vim
```
<font color="silver">(このpacmanというのはパッケージを管理してくれるとてもお利口でかわいいシステム)</font>

インストールしますか？と聞かれたら内容を確認したうえでyと答えてあげてください

というわけで改めてロケールの設定

```
# vim /etc/locale.gen
```

ミラーサーバの設定と同じ要領で

>en_US.UTF-8 UTF-8
>ja_JP.UTF-8 UTF-8

の文字列を探して先頭の#でxキーを押してあげるとコメントが外れます。:wqで保存して終了
![0a1c2a9b9bfaa3c25f6d007481aec85a.png](https://qiita-image-store.s3.amazonaws.com/0/139165/d85e0d1c-d02a-b63b-8006-24e07fd7c25b.png)

![defe30eccc97c9efd8de65f6f8e60d93.png](https://qiita-image-store.s3.amazonaws.com/0/139165/a5118d4b-3c5e-c903-38d7-0fb4b1f5cefa.png)

次に各コンフィグファイルの設定

```
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
```

```
# echo "KEYMAP=jp106" >>/etc/vconsole.conf
```

タイムゾーンとハードウェアクロックの設定

```
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc
```

ホストネームの設定

```
# echo "ここにホストネームをいれる" > /etc/hostname
```
僕はArch_Qiitaとしました


rootのパスワードを設定します。これがバレると死にます

```
# passwd
```
確認を求められるので慎重に2回入力してあげましょう

#ブートローダのインストールと設定

```
# pacman -S grub
# grub-install --recheck /dev/sda

# echo "GRUB_DISABLE_SUBMENU=y" >> /etc/default/grub
# grub-mkconfig -o /boot/grub/grub.cfg
```

ここまででとりあえずArchのインストールは終わり！

```
# shutdown -h now
```
で電源を落としてあげましょう

![3708baa6f648bfb75c0888e32af9edce.png](https://qiita-image-store.s3.amazonaws.com/0/139165/5f1a1408-dd95-957a-5173-db4a45659ff0.png)

Virtualboxのマネージャーに戻ったら最初と同じように設定(S)→ストレージ→ストレージツリー(S)欄の
コントローラー:IDEに挿入してある"archlinux-2016.090.-dual.iso"を除去してください
![e15d137d3fe80bb858e38b6285c47fde.png](https://qiita-image-store.s3.amazonaws.com/0/139165/49dc4b58-feec-4f8b-9353-610b98d340d7.png)

除去を終えたらOKで設定を保存し、もう一度Archを起動

何やら文句を言われましたが、Enterでloginに進めたので解決は後回し。
ユーザー名(root)とパスワードを入れてログインできたら設定は完了！
![e24c131df7b5ce11bb2024476c152d38.png](https://qiita-image-store.s3.amazonaws.com/0/139165/a500a7b0-4179-d687-2cb0-50914c20a6b7.png)

#あとがき
ここまでで一応ArchLinuxは動いてくれるようにはなりましたが、インストールが終わったからといってこれをそのままの状態でバリバリ使おうとするのはヤバいです。死にます。
自分で最低限のセキュリティ対策ぐらいはできるように色々な記事を辿って遊ぶのも勉強になるでしょう。

今回はインストールの練習、ということで全部は理解できなくても、この記事を通して
なんとなーくLinuxに興味を持ってくれると嬉しいかなと思います。

<font color="silver">本当はデスクトップ環境を入れて動かすところまで書こうと思ったんですけど予想以上に記事を書くのが大変だったので今回はここで筆を置くことにします。また機会があれば…</font>

***
デスクトップ環境の構築ならこちらの記事が参考になるかも
[Arch Linux インストール から Xfce 快適環境を構築するまで](http://qiita.com/macchaberrycream/items/1dfabe8b710dc638e3f9#%E3%81%93%E3%82%93%E3%81%AA%E4%BA%BA%E3%81%AB%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1)


#追記
最後にちょびっと文句を言われた件ですが、ググったところ[こちらのUbuntuのフォーラム](http://askubuntu.com/questions/298290/smbus-bios-error-while-booting-ubuntu-in-virtualbox)で解決策が提示されていました。

```
# echo "blacklist i2c_piix4" >> /etc/modprobe.d/blacklist.conf
# reboot
```
でコンフィグをいじったあとに再起動すると素直に起動してくれました！すごい！