中古Lenovo linux入れてみた
Lenovo ThinkPad X230
中古で2万ちょいで売ってたパソコン。
linuxの勉強用に購入したため、中に入っていたwindowsはバイバイ。
内部
CPU: i5-3320M
HDD:300GB
RAM:4GB(2GBx2)
===============================================================================
2019/03/09
買ってからしばらく経っているが、学校が休みになって暇なので新しく入れてみることにした。
今回入れるのは「Arch linux」 最低限の機能の構築ならWikiも充実しているため、そんなに難しくない。
大まかな流れを備忘録として書いておく
1.ブートUSBの作成
今回はブートUSBを作って入れていく。
windowsのほうでarchlinuxのisoをダウンロード。
フリーソフトを使ってUSBにisoを書き込み書き込み。
書き込みが完了したらブートUSBの完成。
〜〜余談〜〜
table:USBフォーマットの大まかな違い
FAT32 古くからある規格。1ファイルの最大が4GB 市販のUSBのデフォがこれであることが多い
exFAT 新しい規格。1ファイルの制限が256TBまで。 FAT32の上位互換
NTFS 内部ストレージなどに使われる圧縮機能や暗号化機能がついている。制限もなし。Macでは読み込みのみ
2.UEFI設定〜フォーマット
USBからarchlinuxを起動しなければいけないが、Windowsの入っているパソコンなので
そのままだとWindowsが起動してしまう。
それを防ぐためにUEFIの設定を行う。
最初に起動するデバイスを変更
HDD(Windows) → USB(Arch linux)
1で作成したブートUSBを刺してパソコンを起動。
ロゴ画面でF1
UEFIの設定でBoot順のところで USBを一番上にする
Saveして再起動
すると、USBからブートしてArchlinuxが起動する。
しかし、HDDにはWindowsが入ったままなのでHDDをフォーマットしてインストールしていく必要がある。
ここからはコマンドラインで行っていく。
まずはキーボードの配列が英語になっているので日本語キーボード配列に変更
# loadkeys jp106
次に、インストールする前にパーティショニングを行う。
※HDDを複数の領域に分割する
パーティションごとにフォーマットが必要。
パーティション作成
パーティションを設定するときにHDDの先頭部分に パーティションテーブルを作成する
パーティションテーブルにはMBRとGPTという2種類がある。
MBR
古い規格で最大容量2TB
プライマリパーティションは4つまで
基本BIOSモードで使用
GPT
新しい規格で最大容量8ZB(Z>E>P>T>G>M)
パーテョンは128まで作成すべてプライマリOK
BIOSだと使えないことがあるのでUEFIモードで使用
今回はUEFIのためGPTを使う。
コマンドラインではMBRはfdisk, GPTはgdisk
# lsblk
↑のコマンドでデバイスの一覧を見ることができ、sdaが該当のHDDだったためsdaに設定。
# gdisk /dev/sda
Command (? for help):
と表示される。
流れとして、パーティションの下書き→まとめて書き込み
今回の構成:
sda1:UEFIブートパーティション 512MB
sda2:Arch linux パーティション 50GB
sda3:データ用パーティション 245.5GB
swapは作成しない
まずは下書き
Command:o
新しいパーティションテーブルの作成
Command:n
Partition number: <enter>
First sector: <enter>
Last sector: +512M<enter>
Hex code or GUID: ef00<enter>
UEFIブートパーティションの作成
+512M は512MB分確保
使用タイプ ef00はEFI Systemのパーティション
Command:n
Partition number: <enter>
First sector: <enter>
Last sector: +50G<enter>
Hex code or GUID: <enter>
Arch linux用のパーティション
50G分確保
使用タイプは8300(デフォルトのため省略可)
Command:n
Partition number: <enter>
First sector: <enter>
Last sector: <enter>
Hex code or GUID:<enter>
データ用のパーティション
残りのすべての領域にするためLast sectorは省略
Command:w
Do you want to proceed?(Y/N):y
書き込みのコマンド。
書き込んでもいいか確認がでるのでyで実行。
フォーマット
フォーマットのコマンドはmkfs.**です
おそらくmake file systemの略?
sda1のEFIシステムのパーティションはFAT32なので.vfat
# mkfs.vfat -F32 /dev/sda1
sda2はlinux用,sda3はデータ用で.ext4を使う
ext4には-Lで名前がつけられる
# mkfs.ext4 /dev/sda2 -L archlinux
# mkfs.ext4 /dev/sda3 -L data
3.インストール
フォーマットが終わると中に書き込める状態になっている。
ネットからパッケージをインストールするため、ネット接続設定。
今回は有線で接続していたため自動でDHCPで接続されている
まずは2.で設定したパーティションをマウントする。
しなければ中にアクセスできないために、インストールすることもできない。
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
データ用のパーティションはインストール時は使わないので今はマウントしない
Arch linux はpacmanでパッケージをダウンロードする。
しかしデフォで外国のサーバーが設定されているため遅い。
/etc/pacman.d/mirrorlistの中のJapanのjaistサーバーを一番上に持ってきて保存。
# pacstrap /mnt base base-devel
Linuxに必要なディレクトリノ作成と基本のパッケージをインストール
base ...bash, less, nano, netctl, pacman, tarなどなど
base-devel...gcc,makeなどなど
fstabの設定
起動時に自動でマウントするための設定
genstabコマンドで現在のパーティションを自動で書き込んでくれる。
# genfstab -U /mnt >> /mnt/etc/fstab
/mnt/etc/fstabにUUIDを使って書き込みが完了した。
ここからはインストールしたシステム内での設定
# arch-chroot /mnt
で中に入って設定していく
時間の設定
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアの時間設定
# hwclock --systohc --utc
ロケール設定
Linuxで使う言語の設定、日本語と英語
# en_US.UTF-8 UTF-8
# ja_JP.UTF-8 UTF-8
の#を消して有効化
# locale-genでロケール生成
/etc/locale.confにLANG=en_US.UTF-8を書き込む
この段階では英語に設定。GUI設定が終わったあとに日本語に変える。
※理由として、GUIにおけるコンソールではない純粋なコンソールではASCIIで文字表示しているため日本語が使えないため.
GUIのコンソールでは日本語表示可能
# echo KEYMAP=jp106 > /etc/vconsole.conf
/etc/vconsole.confに日本語配列を追加。
rootのパスワード設定
# passwd
二回入力が求められるので入力
ブートローダーの設定
これを入れることでOSが起動できるようになる
# pacman -S grub efibootmgr
# grub-mkconfig -o /boot/grub/grub.cfg
これで設定は完了
# exit
# umount -R /mnt
# reboot
でマウントしたパーティションをアンマウント。
再起動したらUSBは取り外してOK
これでArchlinuxの入れるところまで完了した。
あとはWikiなどみながらいろいろな設定を行っていくだけ。