表題のとおりです。より正確に表現すると、LMDE2 のパッケージマネージャの依存関係データベースがふっ飛んだ上に systemd などの OS の実行に必要な機能が使えなくなりました。
電源を入れても Linux Mint のロゴが表示されるだけで、init の次でコケている模様。ちょうど LMDE3 もリリースされていることだし、必要なファイルを避難させてインストールし直すことにしました。
ストレージ構成
元々の環境は以下のとおりです。
- /dev/sda … GRUB
- /dev/sda1 … スワップ領域
- /dev/sda2 … 「/」にマウント。ext4。
- /dev/sdb
- /dev/sdb1 … RAID10 アレイ (1)
- /dev/sdc
- /dev/sdc1 … RAID10 アレイ (2)
- /dev/sdd
- /dev/sdd1 … RAID10 アレイ (3)
- /dev/sde
- /dev/sde1 … RAID10 アレイ (4)
RAID10 環境の復旧と、パーティションを切っていない 「/」 以下の必要ファイルの復旧が目的です。なお、sda は 256GB SSD、sdb 〜 sde はそれぞれ 3TB の HDDです。
ソフトウェア RAID ツールの mdadm を用いて、sdb1 〜 sde1 までの RAID10 アレイすべてを合わせて /dev/md0 として認識させていました。
サルベージ
まず、対象マシンが起動できないとどうにもこうにもならないので、別マシンで LMDE3 x64 の Live DVD イメージをダウンロード。Unetbootin を使って、ブータブル USB キーを作成しました。
次に対象マシンの電源を入れ、ブートシーケンス設定で USB Key をプライマリに設定。作成したブータブル USB キーを USB ポートに挿して、LMDE3 をライブ起動しました。(…ライブ起動っていう表現でいいのかな。要は、対象マシンの内蔵ストレージにインストールせずに起動。)
ライブ起動した LMDE3 上のコンソールで /dev を確認すると、sda 〜 sde まですべて確認することができました。

sudo mkdir /mnt/sda1 sudo mount /dev/sda1 /mnt/sda1
/dev/sda1 をマウントすると、そのまま LMDE2 の「/」を覗くことができます。ここから必要なファイルを RAID ストレージに移動したいのですが、ライブ起動した LMDE3 には /dev/md0 がありません。
そこで、ターミナルより
sudo apt update sudo apt install mdadm
とし、ソフトウェア RAID の mdadm を導入。
sudo mdadm --assemble --scan
すると、RAID アレイを認識し /dev/md/0 と /dev/md0 の仮想デバイスファイルが作成されました。あとはマウントして旧「/」配下のファイルを救出するだけです。
# マウントポイントを作成 sudo mkdir /mnt/md0 # マウント sudo mount /dev/md0 /mnt/md0 # バックアップディレクトリを作成 sudo mkdir /mnt/md0/backup # バックアップ sudo time rsync -aAXv /mnt/sda1/ --exclude={"/mnt/sda1/dev/*",\ "/mnt/sda1/proc/*","/mnt/sda1/sys/*","/mnt/sda1/tmp/*",\ "/mnt/sda1/run/*","/mnt/sda1/mnt/*","/mnt/sda1/media/*",\ "v/lost+found"} /mnt/md0/backup; date
やたら時間がかかったので、 /mnt/md0 内にあるマンガを mcomix で読みながら待っていました。バックアップが終わったら、/dev/sda1 および /dev/md0 をアンマウントし、新しい OS をインストールします。
LMDE3 Cindy x64 のインストール
デスクトップにある「Linux Mintをインストール」アイコンから GUI で入れていきます。最近のディストリはインストールがとても簡単だし、Youtube を見ながらネットサーフィンしながらできるし、とても快適ですね〜。
ストレージの構成だけ注意して、 /dev/sda1 をこれまでどおりスワップ領域に、/dev/sda2 を新しい OS の「/」にして EXT4 でフォーマット。/dev/sda に GRUB をインストールする設定で進みました。
あと、セットアップウィザード中で行ったことといえば、僕は英語キーボード (PFU Happy Hacking Keyboard) を使っているのでキーレイアウトを US 配列にした程度です。滞りなくできました。
インストール完了後、USB キーを抜いて内蔵ストレージから再起動します。
環境の再構築
無事に起動できたら、また mdadm をインストール。マウントします。
sudo apt update sudo apt upgrade sudo apt install mdadm sudo mdadm --asemble --scan sudo mount /dev/md0 /mnt
OS 上で一度スキャンすると、/etc/mdadm/mdadm.conf にアレイ情報が書き込まれるようですね。
続いて、ユーザーやグループ情報の移動を行い、これまで使っていたソフトのインストールを行いました。
起動できなくなった時は少し焦ったけど、とりあえず使える程度までには現状回復できたし、ゴミファイルの整理にもなって良かったと思います。
イシューズ
下記は積み項目。
- IMの調子が変。UIM で SKK 使いなんだけど、入力のタイミングでキーが変なことになったり、辞書を引き継げなかったり。
- GeForce GTX460 の nVidia の公式ドライバの組み込みに失敗する。いや、組み込みはできるんだけど、cinnamon がクラッシュする。以前は lightdm を停止して X を殺して、端末から startx してたら起動できたけどそれも無理。んー、今のところ、noveau ドライバで問題ないけど…。グラボの替え時かなぁ。
- 動画やコミックアーカイブのサムネイル表示が nemo でできなくなってる。ffmpegthumbnailer や ffmpegthumbs をインストールしても改善せず。謎ファイル名の動画が多いんで割と不便。
- Ruby や Python といったプログラミング環境は必要になったら順次、入れていこうと思う。とりあえず Git は入れておいた。
- オーディオや動画のオーサリングツール系も必要に応じて入れる。
- LMDE3って標準で mozjpeg が入ってるんだ!