Linux活用レシピ > knoppixの活用 > Mac完全保存&復元


KNOPPIXを使ったMacの完全保存と復元レシピ

復元する手順

    ここでは、MacをKNOPPIXから起動し、Windows共有フォルダに圧縮され、さらに分割して保管されている内蔵HDDのフルセクタイメージを、進捗を確認しながら内蔵HDDにリストア(復元)する方法を説明します。

目次


1. MacでKNOPPIXを起動

1-1. Macの準備

リストアが出来るようMacの準備を行います。
  1. 以下の通りKNOPPIXのCDとMacを用意します。
  2. MacBookの場合は、リストア中に電源が切れないよう、ACアダプタを接続します。
  3. バックアップイメージは、Windows共有フォルダにありますので、LANケーブルも接続します。
  4. KNOPPIXのCDをDVD/CDドライブに挿入してください。

    一旦MacOSを起動したうえで、KNOPPIXのCDを挿入し、シャットダウンしていただいてもよいです。

1-2. KNOPPIXを起動

MacからKNOPPIXを起動します。
  1. MacのCD/DVDドライブに、KNOPPIXのCDが入った状態で、以下の通りキーボードのCを押しながら

    Macの電源を入れます。
  2. 以下の通りKNOPPIXの起動画面が、Macの画面に表示されますので、キーボードのCから手を離してください。
  3. KNOPPIXの起動画面の「boot:」の横に、ccccが入力されていましたら、「delete」キーで、以下の通り「boot:」だけにしてください。
  4. KNOPPIXの起動画面で「ENTER」キーを入力しますと、MacからKNOPPIXが起動し始めます。
  5. 以下の通りデスクトップ画面が表示されましたら、MacでKNOPPIXの起動は完了です。
▲目次


2. Windows共有への接続

2-1. MacにIPアドレスを設定

Macから起動したKNOPPIXに、IPアドレス等のネットワーク情報を設定します。
  1. まず、KNOPPIXのデスクトップの下のバーから、以下のターミナルエミュレータをクリックします。
  2. 以下の通りターミナルが起動します。
    knoppix@Microknoppix:~$
    

  3. ネットワークデバイスを以下のコマンドで、確認します。
    knoppix@Microknoppix:~$ ifconfig eth0[ENTER]
    eth0      Link encap:イーサネット  ハードウェアアドレス XX:XX:XX:XX:XX:XX
              UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
              RXパケット:563 エラー:0 損失:0 オーバラン:0 フレーム:0
              TXパケット:86 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
              RXバイト:56641 (55.3 KiB)  TXバイト:12716 (12.4 KiB)
              割り込み:19 ベースアドレス:0x2000
    
    ここで、以下の通り既にIPアドレスが設定されている場合は、ネットワーク上にあるDHCPサーバから、割り与えられたかと思いますので、以降のIPアドレス等の情報設定は不要です。
    knoppix@Microknoppix:~$ ifconfig eth0[ENTER]
    eth0      Link encap:イーサネット  ハードウェアアドレス XX:XX:XX:XX:XX:XX
              inetアドレス:192.168.1.100 ブロードキャスト:192.168.1.255  マスク
    :255.255.255.0          ^^^^^^^^^^^^
              inet6アドレス: fe80::20c:29ff:fe91:63d4/64 範囲:リンク
              UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
              RXパケット:563 エラー:0 損失:0 オーバラン:0 フレーム:0
              TXパケット:86 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
              RXバイト:56641 (55.3 KiB)  TXバイト:12716 (12.4 KiB)
              割り込み:19 ベースアドレス:0x2000
    

  4. まず、IPアドレス・サブネットマスクを設定します。
    このレシピでは、リストア対象になるMacは、以下のIPアドレスを設定する形で説明します。各環境にあわせ読み替えてください。

    リストア対象のMacに設定するネットワーク情報
    IPアドレス192.168.1.100
    サブネットマスク255.255.255.0
    ゲートウェイ192.168.1.1

  5. 上記設定を行うには、まず、以下のコマンドでコンソールをrootユーザに変更します。
    knoppix@Microknoppix:~$ su -
    
    すると、カーソルが以下の通り変化します。
    root@Microknoppix:~#
    
    次にIPアドレスとサブネットマスクを、以下の通り入力します。
  6. root@Microknoppix:~# ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
    [ENTER]                            ^^^^^^^^^^^^^         ^^^^^^^^^^^^^
                                       IPアドレス             ネットマスク
    

  7. 再度コマンドを入力し、ネットワークデバイスに、IPアドレスとサブネットマスクが設定されていることを確認します。
    root@Microknoppix:~# ifconfig eth0[ENTER]
    eth0      Link encap:イーサネット  ハードウェアアドレス XX:XX:XX:XX:XX:XX
              inetアドレス:192.168.1.100 ブロードキャスト:192.168.1.255  マスク
    :255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
              RXパケット:563 エラー:0 損失:0 オーバラン:0 フレーム:0
              TXパケット:86 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
              RXバイト:56641 (55.3 KiB)  TXバイト:12716 (12.4 KiB)
              割り込み:19 ベースアドレス:0x2000
    

  8. 通常はここまでですが、もしMacがWindows共有フォルダの接続されているIPセグメントと別のネットワークに接続されている場合は、以下の通りネットワーク上のルータのIPアドレスを、デフォルトゲートウェイ(デフォルトルータ)として、設定します。
    root@Microknoppix:~# route add default gw 192.168.1.1[ENTER]
                                              ^^^^^^^^^^^
    
    デフォルトゲートウェイの設定情報は、以下のコマンドで確認できます。
    root@Microknoppix:~# netstat -rn[ENTER]
    カーネルIP経路テーブル
    受信先サイト  ゲートウェイ  ネットマスク  フラグ MSS Window  irtt インタフェ
    ース
    0.0.0.0       192.168.1.1   0.0.0.0        UG      0 0          0 eth0
    192.168.1.0   0.0.0.0       255.255.255.0  U       0 0          0 eth0
    

以上でネットワーク情報の設定は完了です。


2-2. Windows共有への接続

バックアップが保存されているWindows共有フォルダに、KNOPPIXで起動したバックアップ対象のMacを接続します。
  1. まずは、ネットワーク上のWindows共有フォルダの情報を確認しておきます。
    このレシピでは、ネットワーク上に以下のWindows共有フォルダがある条件で記載しますので、各環境にあわせ、読み替えてください。

    このレシピで使用する、Windows共有フォルダの情報
    IPアドレス192.168.1.11
    ADドメイン名adnet
    ユーザ名linux
    パスワードmemo
    共有フォルダ名linux-memo

  2. IPアドレスを設定した際と同じように、コンソールを起動し、以下の通りroot権限に変更してください。

    knoppix@Microknoppix:~$
    
    knoppix@Microknoppix:~$ su -
    
    root@Microknoppix:~#
    

  3. マウントポイント(Windows共有フォルダを接続させるディレクトリ)を以下の通り作成します。
    root@Microknoppix:~# mkdir /mnt/public
    

  4. Windows共有フォルダに接続します。
    root@Microknoppix:~# mount -t cifs //192.168.1.11/linux-memo /mnt/public \
    -o user=adnet/linux,iocharset=utf8
    
    「192.168.1.11」がWindows共有フォルダのIPアドレス
    「linux-memo」がWindows共有フォルダの共有名
    「adnet」がWindowsドメイン名
    「linux」がユーザ名、ただしドメインユーザでない場合は「adnet/linux」部分を「linux」だけにする

  5. 以下の通りパスワードが要求されますので、入力します。
    Password:
    
    パスワードはWindowsのように「****」といった文字で、エコーバックされません。そばにいる人に見られても、何文字入力されたか分からないようになっているためです。しかし、入力は出来ていますので、パスワード入力が終われば、「ENTER」キーを入力してください。

  6. エラーなくカーソルが戻ってくれば、接続完了です。
    root@Microknoppix:~#
    
      エラーが出る場合は、それぞれのエラーメッセージで、原因がある程度絞れますので、確認してみてください。
      エラーメッセージRetrying with upper case share name
      mount error(6): No such device or address
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
      原因Windows共有フォルダの共有名が間違っている場合に、表示されます。
      エラーメッセージUnable to find suitable address.
      原因Windows共有フォルダのIPアドレスが間違っている場合に、表示されます。

    接続できているか、以下のコマンドで確認してみましょう。
    root@Microknoppix:~# df -k /mnt/public
    ファイルシス             1K-ブロック      使用     使用可 使用% マウント位置
    //192.168.1.11/linux-memo 1953514460 580224344 1373290116   30% /mnt/public
    
      一方で、接続できていない場合は、以下のような表示になります。
      root@Microknoppix:~# df -k /mnt/public
      ファイルシス   1K-ブロック  使用 使用可 使用% マウント位置
      rootfs                   0     0      0     - /
      

  7. 無事接続できれば、今度は共有ディレクトリにイメージが保存されているサブディレクトリがあるか確認します。
    このレシピでは「backup」というサブディレクトリとして説明します。

    以下のコマンドでサブディレクトリの中身が確認できます。
    root@Microknoppix:~# ls /mnt/public/backup[ENTER]
                      サブディレクトリ名^^^^^^^
    

    以下の通り、sda.fdgz.aaaa sda.fdgz.aaab といったファイルが表示されます。
    sda.dgz.aaaa sda.dgz.aaad
    sda.dgz.aaab sda.dgz.aaae
    sda.dgz.aaac sda.dgz.aaaf
    
    なお、エラーで表示されない場合は、別のサブディレクトリと間違えていないか確認してください。

▲目次


3. リストア(復元)

3-1. Macの内蔵HDDの確認

いよいよリストアですが、まずはリスト先となる、Macの内蔵HDDの確認を行います。
  1. IPアドレスを設定した際と同じように、コンソールを起動し、以下の通りroot権限に変更してください。

    knoppix@Microknoppix:~$
    
    knoppix@Microknoppix:~$ su -
    
    root@Microknoppix:~#
    

  2. 以下のコマンドで、内蔵ハードディスクのデバイス名が確認できます。
    root@Microknoppix:~# sfdisk -s[ENTER]
    

  3. 結果以下の通り表示されます。
    赤文字部分が内蔵ハードディスクのデバイス名です。
    WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util sfdisk doesn't support GPT. Use GNU Parted.
    /dev/sda: 244198584
    total: 244198584 blocks
    
    KNOPPIXでは、認識した順番で、HDDのデバイス名を/dev/sda,/dev/sdb,/dev/sdcといった順で割り当てます、内蔵HDDやRAIDドライブ、外付けのHDDもこのようにデバイス名が付けられますので、リストア先のHDDがどれなのかは、青文字のディスクサイズ(キロバイト表示)で判断してください。

    このレシピでは、上の例の通り、内蔵HDDは/dev/sdaで認識されている前提で記載しますので、各Mac環境で読み替えてください。


3-2. MacのHDDイメージを復元

いよいよディスクイメージを、復元します。
  1. root権限に変更したコンソールで、以下のコマンドを実行することで、Windows共有ディレクトリに、圧縮して分割され保存されているMacの内蔵HDDのフルセクタイメージを復元する処理が、開始されます。
    root@Microknoppix:~# cat /mnt/public/backup/sda.fdgz.* | gzip -d | \
    dd of=/dev/sda conv=sync,noerror[ENTER]
    

    ポイントを色分けして説明します。
    赤色の文字は、リストア対象となるMacのHDDデバイス名です。
    root@Microknoppix:~# cat /mnt/public/backup/sda.fdgz.* | gzip -d | \
    dd of=/dev/sda conv=sync,noerror
    

  2. リストアは非常に時間がかかります。以下の通りコンソールが戻ってくればリストア完了です。
    root@Microknoppix:~# 
    


3-3. 進捗情報の確認

上記のリストアは非常に時間がかかり、いつ終わるか分かりません。
そこで、リストアがどの程度進んでいるか、先ほどの画面に表示する方法があるので、紹介します。
  1. リストアを実行しているコンソールとは、別のコンソールを用意します。
    これまでと同じように、root権限に変更します。

    knoppix@Microknoppix:~$
    
    knoppix@Microknoppix:~$ su -
    
    root@Microknoppix:~#
    

  2. リストアしているプログラム(ddコマンド)の、プロセスidを以下のコマンドで調べます。
    root@Microknoppix:~# ps -e | grep " dd$"[ENTER]
    

    結果は次のように表示されます。赤文字の値の部分が、実行中のddコマンドのプロセスidです。この例では「3701」となっています。
     3701 pts/1    00:00:05 dd
    

  3. 以下のコマンドで、調べたプロセスidを使って、現在の進捗情報を、リストアコマンドを実行しているコンソールに、表示させます。
    root@Microknoppix:~# kill -SIGUSR1 3701[ENTER]
                             プロセスid^^^^
    

  4. すると、リストアコマンドを実行しているコンソールには、以下の通り進捗情報が追加表示されます。 もちろん、進捗が表示されるだけで、コンソールは戻りません。ひき続きリストアは継続されています。
    root@Microknoppix:~# cat /mnt/public/backup/sda.fdgz.* | gzip -d | \
    dd of=/dev/sda conv=sync,noerror
    48326400+0 レコード入力                                             <--進捗
    377549+0 レコード出力                                               <--
    24743051264 バイト (25 GB) コピーされました、 550.34 秒、 45.0 MB/秒<--
    

  5. 進捗の確認コマンドは、何度でも表示できます。
    root@Microknoppix:~# kill -SIGUSR1 3701[ENTER]
    
    root@Microknoppix:~# cat /mnt/public/backup/sda.fdgz.* | gzip -d | \
    dd of=/dev/sda conv=sync,noerror
    48326400+0 レコード入力                                             
    377549+0 レコード出力                                               
    24743051264 バイト (25 GB) コピーされました、 550.34 秒、 45.0 MB/秒
    75073792+0 レコード入力                                              <--進捗
    586513+0 レコード出力                                                <--
    38437715968 バイト (38 GB) コピーされました、 1325.64 秒、 29.0 MB/秒<--
    
    確認コマンドが実行されると、リストアコマンドを実行しているコンソールには、上記の通り最新の進捗情報が最終行に3行追加表示されます。

    これで、リストアが大体いつ頃終わるのか、判断することが出来ます。

▲目次