PCが壊れました。

表題のとおりです。より正確に表現すると、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 まですべて確認することができました。

SSDのsda1とHDDのsdb〜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 が入ってるんだ!

投稿者:

dyama

佐世保のシステムエンジニアです。詳しいプロフィールやこのブログについてはこちらをご覧ください。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください