抱著死馬當活馬醫的心態,
參考 Recover a non working "bricked" Linkstation 的搶救方法,
果然如預期般都無效。
只好把 LinkStation 給拆了...
拆開後取出硬碟,
準備一台救援用的電腦,新版的 Knoppix Live CD,
硬碟接上 PC 的排線,或是接 IDE轉USB 的轉接線。
Knoppix 以 Text Mode 啟動:(按 F2 可提示開機參數)
boot: konppix 2
系統啟動後,找尋待救援硬碟的代號
$ dmesg | grep -e hda -e hdb -e sda -e sdb
這邊找到硬碟的代號是 sdb。
試著掛載 /dev/sdb1 和 /dev/sdb3 看看,
Buffalo 在原本的磁區有做手腳,所以有一個會掛不上。
$ mkdir /mnt/sdb
$ mount /dev/sdb1 /mnt/sdb1
$ mkdir /mnt/sdb3
$ mount /dev/sdb3 /mnt/sdb3
經測試確認,Debian 系統在 /dev/sdb1,原廠系統在 /dev/sdb3
所以要把兩個磁區對調,回復成出廠狀態。
$ cd /tmp
$ wget http://www.geishuettner.de/docs/Linkstation/debil-0.1.tgz
$ tar zxvf debil-0.1.tgz
$ debil-0.1/swappart_x86 /dev/sdb /dev/sdb
這樣就完成急救步驟了。
接下來把硬碟裝回 LinkStation。
安裝 u-boot。(詳見 u-boot 安裝筆記)
經過一番研究後,發現搞掛的 Debian 系統是可以救的回來的。
既然我是按照 Linux Kernel 2.6 Installation on Buffalo Linkstation/KuroBox/HG/HS/Terastation 升級 kernel 2.6,
解鈴還須繫鈴人,就到 http://hvkls.dyndns.org/downloads 挖寶。
先查看一下 Debian 系統,kernel 2.6 的版號
$ cat /boot/version
r376-v117
再下載 legacy-kernel-uboot.tar.gz,
查看裡面的 version 內容
r376-v117-uboot
賓果!只要複製 legacy-kernel-uboot.tar.gz 裡 uImage 和 kuroboxHG.dtb 這兩個 kernel image 到 /boot 下,
就可以成功啟動 kernel 2.6 的 Debian lenny/5.0 了。
我的系統終於救回來了!
因為進入 Debain 系統會自動執行 swaphd,所以再執行一次回到出廠狀態
$ swaphd
不再需要 swaphd.sh 了$ update-rc.d -f swaphd.sh remove
附記:
Tip: 如果懶的接網路,那可先將資料複製到隨身碟,然後再掛載上去$ mount -t ntfs /dev/sdc1 /mnt
Tip: 如果想知道掛不上的磁區內容,可以用 fix_ext2_magic 修正。$ cd /tmp $ wget http://www.geishuettner.de/docs/Linkstation/files.zip $ unzip files.zip $ fix_ext2_magic --fix /dev/sdb3 $ mount /dev/sdb3 /mnt
使用完不要忘記再把 "手腳" 給做回去。$ umount /mnt/sdb3 $ fix_ext2_magic_back --fix /dev/sdb3
曾想要 chroot 到 Debian,進行系統降級 (lenny/5.0 -> etch/4.0) 嘗試1: Knoppix 開機後掛載 Debian 系統$ mount /dev/sdb1 $ chroot /mnt/ /bin/bash chroot: failed to run command `/bin/bash': Exec format error.
失敗。因為在 PC (x86) 裡無法 chroot 到 LinkStation (powerpc)。 嘗試2: 硬碟 swap 回出廠狀態,以 LinkStation 開機後掛載 Debian 系統$ chroot /mnt /bin/bash FATAL: kernel too old
失敗。因為以 kernel 2.4 無法 chroot 到 kernel 2.6 環境。
如果忘記取消 swaphd,LinkStation 就會開不了機
此時只要進入 EM-Mode,執行 swappart_ppc 即可
$ mount_disk
$ cd /mnt/hda3/bin
$ swappart_ppc /dev/hda /dev/hda
$ reboot
參考資料: Recover a non working "bricked" Linkstation Linkstation的diag led閃六下怎麼辦... Hacking Howto for the Linkstation HD-HxxxLAN(F) Linux Kernel 2.6 Installation on Buffalo Linkstation/KuroBox/HG/HS/Terastation 使用檔案: ADRIANE-KNOPPIX_V6.7.1CD-2011-09-14-EN.iso debil-0.1.tgz (swappart_x86) files.zip (fix_ext2_magic, fix_ext2_magic_back) legacy-kernel-uboot.tar.gz (uImage, kuroboxHG.dtb)
沒有留言:
張貼留言