首先先確認硬碟位置為何, 使用 fdisk -l 命令, 這裡因為沒有平台試所以直接拿Log 檔當例子.
從Log檔可以推測硬碟實體位址是在 /dev/ide/host2/bus0/target0/lun0/disc
/dev/ide/host2/bus0/target0/lun0 我想應該是硬碟的LUN, 而共分了4個分割區
每個硬碟的實體位址應該如下
第1個分割區 : /dev/ide/host2/bus0/target0/lun0/part1
第2個分割區 : /dev/ide/host2/bus0/target0/lun0/part2
其餘類推...
以下方法只供參考, 小弟只試過在類似平台試過可以, 但並不保證WL-700GE,MSS也可以適用此方法, 請自行評估是否要冒險
1. 先將系統的資料先都備份
2. Format /dev/ide/host2/bus0/target0/lun0/part1這個分割區
mkfs.ext2 /dev/ide/host2/bus0/target0/lun0/part1
5. 在CFE> 下,設定 nvram的 kernel_args 參數, 設定如下
nvram set kernel_args="root=/dev/ide/host2/bus0/target0/lun0/part1 rw noinitrd console=ttyS0,115200"
nvram commit
3. 將/dev/ide/host2/bus0/target0/lun0/part1 mount 到一個目錄下, 再來把系統檔包括flash內的rootfs 複製到這目錄
4. 把設有LVM的分區清除,然後修改可能先造成mount錯誤的設定檔,我想可能是 /etc/fstab 吧 (因為在Log中有出現/dev/md/1 及/dev/se/2 ...)
6. Reboot 看看是否能直接開到 /dev/ide/host2/bus0/target0/lun0/part1 (第1個硬碟分區) 下
如果要換成別的分區只要先將系統放於該分區然後再更改kernel_args這個nvram數數就好了
nvram commit
是將設定存入flash的nvram內, 如果要清除此變數回復到原先的開機模式只要在CFE模式下(一開始開機按Crtl+C進入)把kernel_args變數清除就好了, 使用的命令是
nvram unset kernel_args
nvram commit
[English version]