昔は開発するとなるとLinuxを利用していましたが、最近はWindows10+WSLが便利になってきたのでWindowsで色々と開発をしていました。
ただ、ネットワーク周りでWSLは面倒だと感じることがあったので、WindowsからManjaroに開発環境を引っ越すことにしました。
手元にあるDellのノートパソコンにManajaroをインストールしたので、インストール方法を紹介します。(BIOSの設定周りで手間取ったのでメモ的な感じ)
デュアルブートはせずに、Manjaroのフルインストールです!自分の場合、デュアルブートにしても結局片方のOSしか使わなくなるんですよね
対象のノートパソコン
今回Manjaroをインストールしたノートパソコンの詳細です。去年の11月くらい?に購入してから自分のメイン機です。
- 型番:Dell Inspiron 13 7000 (7300)
- CPU:第11世代 インテル® Core™ i7-1165G7 プロセッサー
- GPU:NVIDIA® GeForce® MX350 with 2GB GDDR5
- Memory:16GB, オンボード, LPDDR4x, 4267MHz
- HDD:1TB M.2 PCIe NVMe SSD
GPUにMX350を積んでいるので、CUDAを利用できるのが地味に助かります。
MX350は難しい機械学習ができるほど計算能力は高くありませんが、gpuモードで保存されているNNモデルを読み込むくらいはできます(メモリが2GBしかないけど、、、)
Manjaroってなんじゃろ
“enjoy the simplicity”をテーマとしたArchベースのディストリビューションです。初心者向け(?)として有名ですよね。
DistroWatch.comによると2021年4月30日の段階で注目度2位です(1位のMX Linuxも気になりますね)。
自分がManjaroの好きなところは、Archベースだけど本家のArchよりも安定性が高いところです。Archはドキュメントやコミュニティフォーラムがしっかりしているので、トラブルが起きてもなんとか解決できますし、Linuxの勉強にもなりますよね。
Manjaroのインストール方法
live USBを作成して、live USBからManjaroを起動して、PCにインストールするだけです。
ただ、気をつけるべきポイントや、自分が遭遇したエラーもあるので、それらの対処方法について説明していきます。
live USBの作成
Manjaroの公式サイトから好みのエディションのisoファイルをダウンロードして、live USBを作成しましょう。
USBの作り方はwikiにまとまっています(USBインストールメディア)。
BIOSの設定を変更
ここが一番重要です。下記の設定を必ず行いましょう。
- Secure Bootをオフにする
- SATAモードをAHCIに変更する
自分はSATAモードを変更する必要があることに気づかず、2−3時間ハマりました、、、。デフォルトではRAIDモードになっているので、必ずAHCIモードに変更しましょう。
ちなみに、RAIDモードのままだと、Manjaroのインストール後に下記のようなエラーが発生します。
mount: /new_root: can't find UUID=...
このエラーを見つけたら、BIOSの設定を確認してください。DELLのノートパソコンの場合は起動時にF2キーでBIOSの設定に入れると思います。
USBからManjaroを起動してOSをインストール
今回利用したパソコンは、起動時にF12キーでブートするディスクを選択することができます。作成したUSBをPCに刺した状態で、起動時にF12キーを押下してUSBからManjaroを起動しましょう。
OSインストールは、インストーラーに従えば大丈夫です。パーティションを独自に切りたい場合は、live USBに付属しているUsers Guideを参考にすると良いと思います。
resumeエラーの対象方法(起動時にresume
エラーが出た場合)
自分の場合、移動時に下記のエラーが発生してしまいました。swap領域のマウント関連のエラーです。
ERROR: resume: hibernation device "UUID=..." not found
このエラーはlive USBを利用して修正します。
live USBからManajaroを起動して、端末を開いて下記コマンドを実行していきます。
# ディスクの情報を確認
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 300M 0 part
├─nvme0n1p2 259:2 0 944.8G 0 part
└─nvme0n1p3 259:3 0 8.8G 0 part
# manjaroの"/"に該当するパーティションを/mntにマウント
$ sudo mount -v /dev/nvme0n1p2 /mnt
# ここはchrootではなくて、manjaro-chrootを利用してください
$ sudo manjaro-chroot /mnt
###
# /etc/default/grub内のGRUB_CMDLINE_LINUX_DEFAULT内のresume=UUID=...を削除
###
# 変更前
$ cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor resume=UUID=... udev.log_priority=3"
$ nano /etc/default/grub # ここでresumeを削除
# 変更後
$ cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor udev.log_priority=3"
###
# /etc/mkinitcpio.confのHOOKSからresumeを削除
###
# 変更前
$ cat /etc/mkinitcpio.conf | grep HOOKS
...
HOOKS="base udev autodetect modconf block keyboard keymap plymouth filesystems fsck resume"
$ nano /etc/mkinitcpio.conf # ここでresumeを削除
# 変更後
$ cat /etc/mkinitcpio.conf | grep HOOKS
...
HOOKS="base udev autodetect modconf block keyboard keymap plymouth filesystems fsck"
###
# 設定ファイルを初期化
###
$ sudo mkinitcpio -P
$ sudo update-grub
詳細は、こちらのmanjaroのフォーラムを確認ください。
上記の修正が終わったら再起動してください。起動できるようになっているはずです。
まとめ
簡単にですが、Manjaroのインストール方法を紹介しました。
自分のハマった部分は下記の2つです。
- BIOSでSATAモードをAHCIに変更する
- swap領域のマウントエラー
久々のLinuxのインストールだったので、こういったトラブルは久しぶりでした。ただ、Arch系はフォーラムがしっかりしているので、なんだかんだ解決できますね。
同じようなエラーで躓いている方の参考になれば幸いです。
初期設定については別の記事にまとめようかなと思います。