Raspberry PI が起動しなくなったが原因不明。
以下のようにリカバリモードになってしまって起動しない。
Uncompressing Linux... done, booting the kernel.
?
Welcome to the rescue system
recovery login: Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.25+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: BCM2708
[ 0.000000] cma: CMA: reserved 16 MiB at 17000000
~途中省略~
PANIC: Attempted to kill init! exitcode=0x0000000b
Entering kdb (current=0xd6850000, pid 1) due to Keyboard Entry
kdb>
復旧する方法をググってみたけどよくわからない。仕方が無いのでraspbianをダウンロードしWin32 Disk Imagerで別のSDカードに書き込む。
OSはこれでいいが、壊れたイメージのHOMEディレクトリにあるデータをなんとか取り出せないかとやってみた。
まずは新しく作ったSDでraspberry pi を起動する。
次にSDマルチカードリーダーに壊れたと思われるSDを差しraspberryに接続する。
dmsgコマンドを見てみると次のように表示された。
pi@raspberrypi:~$ dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
~途中省略~
[ 110.047063] scsi 0:0:0:0: Direct-Access BUFFALO USB SD Reader 1.00 PQ: 0 ANSI: 0
[ 110.050423] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 110.055958] scsi 0:0:0:1: Direct-Access BUFFALO USB CF Reader 1.01 PQ: 0 ANSI: 0
[ 110.060082] sd 0:0:0:1: [sdb] Attached SCSI removable disk
[ 110.063867] scsi 0:0:0:2: Direct-Access BUFFALO USB xD/SM 1.02 PQ: 0 ANSI: 0
[ 110.069340] sd 0:0:0:2: [sdc] Attached SCSI removable disk
[ 110.073081] scsi 0:0:0:3: Direct-Access BUFFALO USB MS Reader 1.03 PQ: 0 ANSI: 0
[ 110.079171] sd 0:0:0:3: [sdd] Attached SCSI removable disk
[ 110.241769] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 110.242566] sd 0:0:0:1: Attached scsi generic sg1 type 0
[ 110.245042] sd 0:0:0:2: Attached scsi generic sg2 type 0
[ 110.254975] sd 0:0:0:3: Attached scsi generic sg3 type 0
[ 492.594844] sd 0:0:0:0: [sda] 7744512 512-byte logical blocks: (3.96 GB/3.69 GiB)
これで目的のSDカードはsdaだとわかったのでfdiskで中身を見てみる
pi@raspberrypi:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 7861 MB, 7861174272 bytes
4 heads, 16 sectors/track, 239904 cylinders, total 15353856 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ba6a2
Device Boot Start End Blocks Id System
/dev/sda1 2048 2466796 1232374+ e W95 FAT16 (LBA)
/dev/sda2 2473984 15353855 6439936 85 Linux extended
/dev/sda5 2482176 2596863 57344 c W95 FAT32 (LBA)
/dev/sda6 2605056 15353855 6374400 83 Linux
sda6にありそうだが、とりあえずマウントしてみる
pi@raspberrypi:~$ sudo mkdir /mnt/usb1
pi@raspberrypi:~$ sudo mkdir /mnt/usb2
pi@raspberrypi:~$ sudo mkdir /mnt/usb5
pi@raspberrypi:~$ sudo mkdir /mnt/usb6
pi@raspberrypi:~$ sudo mount /dev/sda1 /mnt/usb1
pi@raspberrypi:~$ sudo mount /dev/sda2 /mnt/usb2
mount: /dev/sda2: can't read superblock
pi@raspberrypi:~$ sudo mount /dev/sda5 /mnt/usb5
pi@raspberrypi:~$ sudo mount /dev/sda6 /mnt/usb6
マウントできたので続いて中身を見てみる
pi@raspberrypi:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 15079896 2511772 11905152 18% /
/dev/root 15079896 2511772 11905152 18% /
devtmpfs 218636 0 218636 0% /dev
tmpfs 44584 252 44332 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 89160 0 89160 0% /run/shm
/dev/mmcblk0p1 57288 19400 37888 34% /boot
/dev/sda1 1231728 1164016 67712 95% /mnt/usb1
/dev/sda5 57288 19080 38208 34% /mnt/usb5
/dev/sda6 6240824 3527840 2377892 60% /mnt/usb6
pi@raspberrypi:~$ ls /mnt/usb1
bootcode.bin recovery.cmdline recovery.img slides
BUILD-DATA recovery.elf recovery.rfs
images RECOVERY_FILES_DO_NOT_EDIT riscos-boot.bin
pi@raspberrypi:~$ ls /mnt/usb2
pi@raspberrypi:~$ ls /mnt/usb5
bootcode.bin fixup_cd.dat issue.txt start_cd.elf
cmdline.txt fixup.dat kernel_emergency.img start.elf
config.txt fixup_x.dat kernel.img start_x.elf
pi@raspberrypi:~$ ls /mnt/usb6
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var
homeが見えているので、あとは必要なファイルをコピーして取り出すだけだ。
最近のコメント