ずっとLinux MintとWindows10のデュアルブートにしていたんだけど,Mint20が出たタイミングで,19 -> 20に上げるくらいなら別のOSに入れ替えようと思い立った.なので,このLinux MintをManjaroに入れ替えた.のでメモ.
Linux Mintをキレイにする
まずいきなりLinux Mintをフォーマットしてしまうと,ブートレコードが残ったままになってしまう.というわけで先にブートレコードを削除してから,パーティションをフォーマットする必要がある.
ちなみにこの作業はWindows10側で行う.
これを参考にして,bcdeditでubuntu
というブートメニューを削除する.ちなみにLinux MintはUbuntu派生なので,ブートメニューは ubuntu
という名前になっていた.
あとはEFIが入っていそうなボリュームをdiskpartで探し出して,マウントしたら, /EFI/ubuntu
のディレクトリを削除すれば良い.
細かいコマンドについては,上記参考サイトの通り.
ここまで終わったら,コンピュータの管理
からディスクの管理
を開き,今までLinux Mintが入っていたパーティションを削除する.未割り当て状態になったら,いよいよ次のOSを入れる.
Manjaroのインストールメディアを作る
公式ページから好きなバージョンのisoをダウンロードしてくる.
適当なUSBメモリを適当にフォーマットしておく.
$ sudo fdisk -l
して,該当のUSBのデバイス名を確認しておく.ここでは /dev/sdd
だったとしよう.
マウントされてたら,umountしておく.
$ sudo umount /dev/sdd1
で, dd
コマンドで/dev/sdd
にisoを入れる.
ここで別のデバイスにインストールするとまじで悲劇なので,間違えないように.
$ sudo dd if=./manjaro-cinnamon-20.0.3-20200606-linux56.iso of=/dev/sdd bs=1048576
しばらく待つとできあがるので,あとはUSBメモリ抜く.
Manjaroのインストール
GUIのインストーラなので,ここで細かく手順の説明はしない.
注意点として,Manjaro自体は日本語で利用することが可能だが,Manjaroのインストーラは日本語化が追いついておらず,インストーラの言語を日本語にするとほんとんどの項目が表示できなくなるので,インストーラだけは英語で我慢しよう.
もう一点,Partitionの項目は毎回迷うところだが,今回のケースではReplace a partition
を選択し,かつてLinux Mintが入っていた,今は未割り当ての領域を選択しよう.
そして,Boot Loader Locationはインストール先のパーティションが存在するディスクにしよう.OSのインストール先が /dev/sda
であるなら,/dev/sda
としておく.
また,最後に確認項目が出てくるが,このときにパーティションはしっかり確認しよう.Windows10の領域に変更が入らないことを見ておく.
あと, Boot Loader Locationを /dev/sda
にしたが,確認画面では,/boot/efi
にEFIのパーティションがマウントされ,そこがBoot Loader Locationになっていることを確認しよう.
これが間違っていると,たとえManjaroのインストールが成功したとしても,grubによりManjaroとWindows10のkリイ変えができなくなる場合がある.
Manjaroインストール後
いつもどおりのLinuxセットアップだが,少し詰まったところがあるので書いておく.
emacs-mozcはPKGBUILDを編集しないと入らない
これはArch Wikiにも書かれていることだが,emacs-mozcは
$ yay -S emacs-mozc
としただけではインストールが成功しない.おそらく
$ yay -S emacs-mozc ... Could not find PKGDEST for: emacs-mozc
というエラーになる.
ここに書いてあるとおり,PKGBUILDを編集する必要がある.
まず,適当なディレクトリに移動した後
$ yay -G emacs-mozc
とすると,emacs-mozcのPKGBUILDをダウンロードだけしてくれる.
$ cd mozc/emacs-mozc $ ls -lha total 28K drwxr-xr-x 3 h3poteto h3poteto 4.0K 7月 5 01:30 . drwx------ 37 h3poteto h3poteto 4.0K 7月 5 01:30 .. -rw-r--r-- 1 h3poteto h3poteto 370 7月 5 01:30 emacs-mozc.install drwxr-xr-x 8 h3poteto h3poteto 4.0K 7月 5 01:30 .git -rw-r--r-- 1 h3poteto h3poteto 6.8K 7月 5 01:30 PKGBUILD -rw-r--r-- 1 h3poteto h3poteto 1.9K 7月 5 01:30 .SRCINFO
ここで,PKGBUILDを編集し,
## If you will be using mozc.el on Emacs, uncomment below. _emacs_mozc="yes"
となるようにしておく.
で,
$ makepkg -si
でインストールが完了する.
albertじゃなくてulauncherを使ってみた
いつもランチャーはalbertを使っていたのだが,
$ yay -S albert
自体は成功するものの,
$ albert albert: /usr/lib/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/lib/libQt5Charts.so.5)
というエラーが出るようになってしまった.そういえばqtはまともにセットアップしていない…….のだが,それはともかくとして,qtをコンパイルするのは結構めんどくさい.加えて,ibusを使おうと思うとibus-qtも入れる必要がある.いい加減qtに頼らないランチャーが欲しくなったので,ランチャーをulauncher
に変えてみた.
だいたい同じ感じで使えるので非常に良い.
トラブルシューティング
フォーマットせずにReplace a partitionしちゃダメ
手抜きをして,Linux Mintのブートメニューを消したたところで,Manjaroのインストールをしようとしたのだが,この場合 /boot/efi
にEFIをマウントする設定が,インストール時に入らない.
つまり,Manjaroを起動してもgrubのメニューが表示されない.
このとき,Manjaro側の /boot/efi
は存在するが,/boot/efi/EFI
が存在しない.そのため,Manjaroが入っているパーティションを起動してもgrubのブートメニューは出てこない.
ちゃんと,ブートメニューを消した後に,Windows10側でパーティションを削除し,未割り当て状態にすることで,その後のインストールにより /boot/efi
のマウント設定が入り,/boot/eif/EFI/Manjaro
が作成された.
nvidiaのドライバを入れてもなおnouveauが無効化されない
本来,nvidiaのドライバをインストールした時点で,nouveauを無効化する設定が入るのだが,まぁ入らないこともあるかもしれない.
とりえあず俺の場合はmodprobe.d
にblacklistは作られていなかった.
そのため,
$ lspci -k | grep -A 2 -E "(VGA|3D)" 26:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1) Subsystem: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] Kernel driver in use: nouveau
となっていた.
modprobe.d
に追加してもいいんだけど,とりあえずカーネルパラメータを起動コマンドに追加してみた.
/etc/default/grub
の,
GRUB_CMDLINE_LINUX_DEFAULT="text apparmor=1 security=apparmor udev.log_priority=3"
なってるあたりに,nouveau.modeset=0
を追加する.
GRUB_CMDLINE_LINUX_DEFAULT="text apparmor=1 security=apparmor udev.log_priority=3 nouveau.modeset=0"
で,
$ sudo update-grub
してやる.これで再起動すれば,
$ lspci -k | grep -A 2 -E "(VGA|3D)" 26:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1) Subsystem: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] Kernel driver in use: nvidia
となる.
時刻がずれてた
TimeZoneの指定をちゃんとしているにもかかわらず,PCの時刻がずれていて,こいつが自動修正されなかったので,
$ timedatectl set-ntp 1 $ timedatectl status Local time: 日 2020-07-05 21:58:36 JST Universal time: 日 2020-07-05 12:58:36 UTC RTC time: 日 2020-07-05 12:58:36 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no
としておいた.
これで再起動後はちゃんと時刻同期が行われていた.
使い勝手について
デスクトップはCinnamonにしてしまっているので,Mintのとき,もっというと昔のUbuntuを使っていたときからそれほど変化はなく対応できている.
MintやUbuntuの場合,aptに存在しないマイナーなパッケージや,個人が作っているものはだいたい自前ビルドする必要がある. しかしyayは公式・非公式含めて非常に多くのパッケージが存在するので,多くの場合において自分でビルドすることなくインストールでき,さらにそれらを安全にアップデートできている. おかげでいつもなら手動ビルドしていたパッケージの大部分がyayで入れることができた.
Manjaroの好きなところとして,Kernelの選択画面があることが挙げられる.
これにより,たとえばカーネルはLTSしか使わないというような管理が楽にできる.こればっかりはpacmanで最新を問答無用で入れるのは怖いので,こういう管理画面になっているのはありがたい.
基本的に困ったことはArch wikiで解決できるので非常に安心感がある.