Linux嵌入式檔案系統(Linux v. 2.6.26.5)運行在原始NAND快閃記憶體上,它使用Full Image的RootFS。 U-boot 2009.03 引導程式。我需要在核心完全加載後訪問 shell,以便我可以重置密碼。目前我使用busybox緊急shell,因此Linux核心未完全加載,根分區未安裝,未加載所有驅動程序,並且許多命令不起作用。我需要掛載根分割區,但我不知道真正的根分割區是什麼/dev
。啟動日誌包含一些行,
Kernel command line: console=ttyS1,115200n8 rootfstype=squashfs noalign half_image=0 verify=y
LINUX_ROOTFS is 4
VFS: Mounted root (squashfs filesystem) readonly.
...
我猜 root 可以/dev/mtdblock5
,但不確定。掛載根分割區的正確指令是什麼?
mount /dev/mtdblock5 /
另外,如果我沒有猜測分割區並設定錯誤,最壞的情況是什麼?
編輯:我嘗試過 fdisk
BusyBox v1.10.2 (2017-08-02 14:07:25 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
# fdisk -l
/bin/sh: fdisk: not found
#
# mount
mount: no /proc/mounts
#
# lsblk
/bin/sh: lsblk: not found
我管理掛載/proc。但無法掛載/dev、/sys。
# cd /
# mount -t dev dev /dev
mount: mounting dev on /dev failed: No such device
# mount -t proc proc /proc
# mount -t sys sys /sys
mount: mounting sys on /sys failed: No such device
# mount -t devpts devpts /dev/pts
mount: mounting devpts on /dev/pts failed: No such file or directory
答案1
對於掛載分割區,第一步是知道「哪裡」是:
fdisk -l
答案一定是這樣的:
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00009971
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 10547199 10545152 5G 82 Linux swap / Solaris
/dev/sda2 192243712 1953521663 1761277952 839,9G 7 HPFS/NTFS/exFAT
/dev/sda3 * 10547200 192243711 181696512 86,7G 83 Linux
在最後一部分中,您可以看到分區的“位置”!僅使用您建議的命令來其餘安裝它們:「安裝」(顯然:-))
對於第二個問題:我認為你不會破壞某些東西......在最壞的情況下,提示會給你一個錯誤。
問候
答案2
抱歉回覆晚了,我的工作只有網路。
因此,您可以改用lsblk
,fdisk
結果如下:
root@CyborgPC /h/cyborg# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 5G 0 part [SWAP]
├─sda2 8:2 0 839,9G 0 part
└─sda3 8:3 0 86,7G 0 part /
sr0 11:0 1 1024M 0 rom
可以看到sda2分割區沒有掛載,我掛載:
root@CyborgPC /h/cyborg# mount /dev/sda2 /media/cyborg/Almacen
並再次使用 lsblk:
root@CyborgPC /h/cyborg# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 5G 0 part [SWAP]
├─sda2 8:2 0 839,9G 0 part /media/cyborg/Almacen
└─sda3 8:3 0 86,7G 0 part /
sr0 11:0 1 1024M 0 rom
正如您所看到的,它lsblk
為您提供了找到設備的路徑/dev
,如果已安裝,則為您提供本地化資訊。
希望你能解決你的問題。