在Scientific Linux虚拟机中安装arm-linux-gcc交叉编译工具时,由于先前分盘草率,导致目录/usr空间不够,无法将文件arm-linux-gcc-4.3.2.tgz解压完整。
于是根据《鸟哥的Linux私房菜》一书使用dd命令在目录/home下制作了一个512M的空文件:
# dd if=/dev/zero of=/home/loopdev bs=1M count=512
/dev/zero是会一直输出0的设备。然后进行格式化:
# mkfs -t ext4 /home/loopdev
在进行手动挂载:
# mount -o loop /home/loopdev /usr/local/arm
# df 显示各分区的磁盘空间使用及挂载情况
为了将/home/loopdev每次开机都自动挂载到/usr/local/arm,修改了/etc/fstab文件:
# vim /etc/fstab
在最后一行中写入/home/loopdev /usr/local/arm ext4 defaults 1 2
由于先前手动挂载过,故必须先卸载:
# umount /usr/local/arm
由于笔者进入了目录/usr/local/arm而未退出,故出现/usr/local/arm is busy的信息,由于笔者此时不知,没有成功卸载而直接往下操作,导致后面Linux无法正常启动的问题,故提醒各位Linuxer注意:
# mount -a 把/etc/fstab文件中列出的文件系统都挂载上
# reboot 重启系统
悲剧来临......................................系统无法再次启动
后好不容易找到解决方法:进入单用户模式
对于grub,在系统启动时按键盘“e”编辑启动项
进入后选择kernel xxxxxxxxx按键盘“e”编辑所选命令:
在行末尾加一个空格single,然后回车按键盘“b”启动系统,系统将进入单用户模式,此时/是readonly的状态,当然也无法修改/etc/fstab,可利用下面指令:
# mount -n -o remount,rw /
之后就可以修改/etc/fstab文件了,将之前误写的最后一句删掉,保存后reboot,系统可正常启动!
从上面的经历笔者发现加载/home/loopdev到/usr/local/arm须使用选项# mount -o -loop才行,这也是系统无法正常启动的原因。
看来此法不通,只能在网上搜有何良方:终于发现dawning126的博客,在此感谢!
一:首先介绍硬盘扩容的方法:
1、vmware提供一个命令行工具,vmware-vdiskmanager.exe,位于vmware的安装目录下,比如