ラズパイをSSD化しようとしてSSDをフォーマットして再起動したらカーネルパニックになりました(泣)多分あやまってMicroSDカードをフォーマットしようと^^;したみたい・・・
バックアップもとってなかったので困った・・・なのでこれから復旧していきます。
ラズパイ以外のOSはWindows10しかないので、VitualBoxでUbuntuを使って復旧作業していきます。
VitualBox + Ubuntu インストール・設定
VitualBoxダウンロード
こちらでWindows hostsを選ぶ。
Ubuntuダウンロード
VitualBox起動
バーチャルOSを使えるようにしていきます。
今回はUbuntuを使います。
「すでにある仮想は~を使用する」でダウンロードしたUbuntuのパスを選びます。
先程ダウンロードしたubuntu-ja-14….amd64.vhdを選ぶ。
これでUbuntu登録完了
Ubuntu起動するにはVT-xを有効にしないと起動しない
早速Ubuntuを起動してみますが途中でエラーになって起動しませんでした・・・
以下のようにVT-xがなんちゃらとエラー表示がでます。
BIOSで設定しないとダメみたい・・・面倒だ!仕方がないので再起動
ASUS BIOSでVT-xをEnabledにする
起動時にASUSアイコンが表示されたらBIOSに入るために[F2]連打する。
Advanced > CPU Configuration に「Intel VT-x Technology Supported」と表示されている。
さらに下の方に「Intel Virtualization Technology」がDisableになっているのでEnabledに変更してExitに移動してセーブして再起動。
これでUbuntu起動するようになるでしょう。
Ubuntu起動
VT-xを有効にしたら無事にUbuntuが起動できた。
コピペできるように設定
Windows10とUbuntuがコピペできるようにならないと不便なので設定します。Ubuntuを終了してVirtualBoxマネージャー画面でUbuntuを選択して右上に「設定」が出てくるので押す。
以下のように一般 > 高度タブを選んでクリップボードの共有を「双方向」についでにファイルのドラッグ&ドロップも双方向にしておいた。
シェルがない!
Ubuntuもカッコいいデザインで使いやすくなっている!とおもったらシェルがない!アプリリストが無いのがちょっと不便。自分で好きなアプリを左側に登録しろということでしょう。
最初はびっくりした。左上のアプリリストアイコンでXtermと検索すると出てきた。
Terminalと検索しても出てきた。
で、起動してるときに右クリックでランチャーに登録すれば次回から検索する必要はないでしょう。
MicroSDマウント
Ubuntuが無事立ち上がったので、いよいよMicroSDをマウント・修復していきます。
ラズパイが入ったMicroSDマウント
まずはマウントしてMicroSDの状態をみていく。MicroSDをUSBアダプタに装着してパソコンに刺します。
自分の場合は デバイス > USB > TS-RDFS Transcend がUSBアダプタなので選択する。
デバイスを見てみると↓「SETTINGS」と「boot」がマウントされた。
dmesgとlsblk・fdiskでデバイス名を確認
$ dmesg
MicroSDカードはsdbのようです。
sdaがWindows10内にあるUbuntuのディスクでsdbがMicroSDにあるラズパイのシステムですね。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 98G 0 part / ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 2G 0 part [SWAP] sdb 8:16 1 58.9G 0 disk ├─sdb1 8:17 1 1.8G 0 part ├─sdb2 8:18 1 1K 0 part ├─sdb5 8:21 1 32M 0 part /media/go/SETTINGS ├─sdb6 8:22 1 69M 0 part /media/go/boot └─sdb7 8:23 1 57G 0 part sr0 11:0 1 1024M 0 rom
/dev/sdbの5個のパーティションを修復すればよさそう。
$ sudo fdisk /dev/sdb コマンド (m でヘルプ): p Disk /dev/sdb: 63.2 GB, 63229132800 bytes ヘッド 4, セクタ 16, シリンダ 1929600, 合計 123494400 セクタ Units = セクタ数 of 1 * 512 = 512 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスク識別子: 0x00026445 デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 2048 3656250 1827101+ e W95 FAT16 (LBA) /dev/sdb2 3656251 123494399 59919074+ 5 拡張領域 /dev/sdb5 3661824 3727357 32767 83 Linux /dev/sdb6 3727360 3868671 70656 c W95 FAT32 (LBA) /dev/sdb7 3874816 123494399 59809792 83 Linux
これらの/dev/sdb1,2,5,6,7パーティションを修復していきます。
アンマウント
修復はアンマウントしないとできないsdb5,sdb6がマウントされているので取り出す。
$ sudo umount /dev/sdb5 $ sudo umount /dev/sdb6
ラズパイのMicroSDカード修復
MicroSDのデバイス名が分かったのでいよいよ修復していきます。
$ sudo fsck /dev/sdb6 fsck from util-linux 2.20.1 fsck.fat 3.0.26 (2014-03-07) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1
sdb6は修復できない??Dirty bit is set.というのが出てきたので調べるとfsckのオプション w rを入れると良いみたい。
$ sudo fsck -w -r /dev/sdb6 fsck from util-linux 2.20.1 fsck.fat 3.0.26 (2014-03-07) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1 Perform changes ? (y/n) y /dev/sdb6: 180 files, 45083/139106 clusters
うまくいった。続いてsdb7、これがラズパイ本体が入っているパーティションで壊れてました。
$ sudo fsck /dev/sdb7 fsck from util-linux 2.20.1 e2fsck 1.42.9 (4-Feb-2014) ext2fs_open2: Bad magic number in super-block fsck.ext2: Superblock invalid, trying backup blocks... root was not cleanly unmounted, check forced. Pass 1: Checking iノードs, blocks, and sizes Pass 2: Checking ディレクトリ structure Pass 3: Checking ディレクトリ connectivity Pass 4: Checking reference counts Pass 5: Checking グループ summary information Block ビットマップ differences: -(885761--1048575) -(1081344--1572863) -(1606657--2097151) -(2195456--2621439) -(2719744--3145727) -(3244032--3670015) -(3702784--4095999) -(4097025--4194303) -(4227072--4718591) -(4784128--5242879) -(5275648--5767167) -(5799936--6291455) -(6422528--6815743) -(7012352--7340031) -(7503872--7864319) -(7963649--8388607) -(8519680--8912895) -(9011200--9437183) -(9535488--9961471) -(10059776--10485759) -(10780672--11010047) -(11108352--11239423) -(11240449--11534335) -(11665408--12058623) -(12189696--12582911) -(12648448--13107199) -(13139968--13631487) -(13664256--14155775) -(14188544--14680063) -(14712832--14942207) 修正<y>? yes Free blocks count wrong for グループ #1 (31743, counted=5427). 修正<y>? yes Free blocks count wrong for グループ #2 (32768, counted=645). 修正<y>? yes ・・・省略 root: ***** ファイルシステムは変更されました ***** root: 159554/3743744 files (0.2% non-contiguous), 1815595/14952448 blocks
修復完了!!
これでラズパイ3B+にMicroUSBを刺して起動したら!ヤッター無事起動♪
すぐにでもラズパイを他のディスクにまるごとコピーしてバックアップしなければヤバイですね。imgに入れてWindows10で保存するのがよさそう。
コメント