🚑

GUI が操作不能になった Ubuntu からデータを取り出す方法【リカバリーモード】

に公開

はじめに

Ubuntu をインストールしたノート PC で、GUI ログイン後にマウスとキーボードが効かなくなる問題が発生。リカバリーモードを利用し、PC に保存された重要なデータを USB メモリへ移行した際の手順を記録する。

PC の環境

項目 詳細
機種 HP Elite
OS Ubuntu 19.04

事前準備:USB メモリを用意する

USB メモリのフォーマットを Windows や macOS など、他の OS でもデータを読み書きできるよう、ファイルシステムは汎用性の高い exFAT 形式でフォーマットしておくことを推奨。

全体の流れ

  1. リカバリーモードで起動する
  2. USB メモリをマウントする
  3. データをコピーする
  4. 後処理

1. リカバリーモードに入る

リカバリーモードとは

システムに問題が発生した際に、最小限の環境で起動し、トラブルシューティングや修復作業を行うための特別なモードです。通常起動とは異なり、必要最低限のシステムリソースで起動し、管理者権限でシェルにアクセスできる。

  1. 電源ボタンを押した後、ブートローダーのメニューを表示されるためにESCキー(UEFI の場合)もしくは SHIFT キー(BIOS の場合)を連打

  2. ブートローダーのメニューのメニューが表示されたらAdvanced options for Ubuntuを選択

  3. Ubuntu, with Linux... ⁠(recovery mode)を選択

  4. 次のような画面が表示されたらroot Drop to root shell promptを選択

  5. Press Enter for maintenanceと表示されたら再度Enterキーを押す

  6. コマンドを入力できる状態(プロンプト # が表示された状態)になれば成功

ファイルシステムが読み取り専用(read-only)なっている場合

リカバリーモードは、初期状態ではファイルシステムが読み取り専用(read-only)になっている場合があるらしい。このままではデータのコピーができないため、次のコマンドを実行して書き込みを許可する。

mount -o remount,rw /

2. USB デバイスをマウントする

接続した USB メモリを認識させて使える状態にするためにマウントをする。

まず、USB メモリを接続する前に、現在のディスク構成を確認する。

  1. マウントしたい USB メモリを接続する前に次のコマンドを入力し、一覧を確認

    lsblk
    
  2. USB メモリを接続し、再度コマンドを入力

    lsblk
    
  3. 前回の結果と比較してマウントしたい USB メモリ(例:sdb)を探します。sda1 sda2 sda...の中から容量が十分なパーティションを選択してください(今回は sda2)

    NAME   MAJ:MIN RM   SIZE RO TYPE
    sda      8:0    0  59.5G  0 disk
    ├─sda1   8:1    0   512M  0 part
    └─sda2   8:2    0    59G  0 part
    
  4. マウント先のディレクトリを作成

    mkdir /mnt/usb
    
  5. USB メモリのマウントをする

    mount /dev/sda2 /mnt/usb
    
  6. マウント先のディレクトリに移動し、ちゃんとマウントされているか確認

    cd /mnt/usb
    ls
    
  7. USB メモリ内のファイルやフォルダが表示されれば成功

3. データを USB メモリにコピー

cp コマンドでデータを USB メモリにコピーする

  1. バックアップしたいデータがあるディレクトリを確認(例では user のホームディレクトリをバックアップする)

    cd /home/user
    pwd
    
  2. 念のためマウント先のディレクトリも確認

    cd /mnt/usb
    pwd
    
  3. cp コマンドを使って USB メモリにデータをコピーする

    cp -r -v /home/user /mnt/usb
    
  4. データの量に応じてコピーには時間がかかるので、コマンド実行後、再びプロンプト(#)が表示されるまで、何も操作せずじっと待つ。

  5. コピー完了後、 USB メモリの中身を確認して、データが正しくコピーされているか確かめる

    cd /mnt/usb
    ls
    

4. 後処理

  1. マウントした USB メモリの関連付けを解除(アンマウント)する

    umount /mnt/usb
    
  2. シャッドダウンし、電源が落ちた後 USB を抜く

    shutdown -h now
    

最後に

cp コマンドのオプションはいっぱいあるので事前に調べておくことが大切です。日頃から定期的にバックアップを取っておくことです。この機会に、ぜひバックアップの習慣を見直してみてください。

Discussion