使用 archlinux 2012-10-06 的光盘启动. (确认电脑中安装的 arch 与光盘中的系统是同一架构, 我的是 x86_64)然后进入 chroot.
Step 1. 光盘重启
Step 2. 加载分区
确认电脑中安装的 arch 与光盘中的系统是同一架构
列出分区
- # lsblk /dev/sda
- [haifeng@arch ~]$ lsblk /dev/sda
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sda 8:0 0 465.8G 0 disk
- |-sda1 8:1 0 1.5G 0 part
- |-sda2 8:2 0 100G 0 part
- |-sda3 8:3 0 15.6G 0 part
- |-sda4 8:4 0 1K 0 part
- |-sda5 8:5 0 100G 0 part
- |-sda6 8:6 0 203.9M 0 part /boot
- |-sda7 8:7 0 980.5M 0 part [SWAP]
- |-sda8 8:8 0 47.9G 0 part /
- `-sda9 8:9 0 199.6G 0 part /home
有些信息如 MOUNTPOINT 没有确切的内容, 这时需要自己判断哪个分区是根分区 /, 哪个是 /boot 分区, 哪个是 /home .
然后执行加载
- # mkdir /mnt/arch
- # mount /dev/sda8 /mnt/arch
- # mount /dev/sda6 /mnt/arch/boot/
- # mount /dev/sda9 /mnt/arch/home/
- # cd /mnt/arch
- # mount -t proc proc proc/
- # mount -t sysfs sys sys/
- # mount -o bind /dev dev/
- # mount -t devpts pts dev/pts/
Step 3. 系统维护
现在可以 chroot 了, 即转入原来电脑中的系统, 进行系统维护:
Remark: 此时如果看到:
chroot: cannot run command '/bin/bash':
Exec format error
则可能是两个架构不匹配.
系统维护可以做很多事情, 如:
- 重新安装 bootloader
- 重新构建 initramfs 映像
- 升级和降级软件包
- 重新设置密码
Step 4. 退出 chroot 环境
依次 umount: proc, sys, dev/pts, dev, boot, home 等, 包括 /mnt/arch.
- # umount proc
- # umount sys
- # umount dev/pts/
- # umount dev
- # umount boot
- # umount home
- # cd ..
- # umount arch/
阅读(2923) | 评论(0) | 转发(0) |