kali重启失败———备份!

死机之后


于是进入单用户模式

在如图所示的行,末尾加上init=/bin/bash
F10,保存并重启

检查磁盘


Alt+F2,快捷键进入tty2
发现是操作系统没有磁盘空间了

扩展磁盘空间

发现要扩展磁盘,需要先删除所有快照

  • 编辑虚拟机设置——硬盘——扩展
    确认后,开机,等到虚拟机又卡住了,按alt+F2

可以看到sda已经从20GB变为40GB

可以看到/dev/sda1分区为100%利用率,所以我们要扩展的就是这个分区

…最近好多事,只有晚上才有时间整理一下,头昏脑涨之下,扩容失败了,grub找不到引导文件在哪个分区了 ==
反正我找了好久,三个分区都是filesystem is unknown

1
2
3
4
set root=(hd0,6)  #选择哪块分区做引导
set prefix=(hd0,6)/boot/grub #选择该分区的grub路径
insmod normal #保存设置
normal #确认

…算了,下回要学一学磁盘管理、灾备等知识。
先把vmdk磁盘备份一下,重新安装一个kali系统,然后把磁盘文件装进去。

提取vmdk中的数据(失败)

用软件poweriso

提取kali vmdk文件失败

数据错误:

正确做法

第一步:先清理文件,使得正常开机

在linux虚拟机死机后,先进入命令行模式,删除掉100%的根目录下的某些无用的文件(至少留出100mb)

然后就可以正常开机了。

第二步:关机虚拟机设置里硬盘扩容

可以看到根目录空间还是很紧张。
关机——备份虚拟机文件目录——编辑虚拟机设置——硬盘——输入硬盘容量——扩展——开机

第三步:开机添加新分区格式化

使得扩容之后的分区可以使用。
这里我添加的/dev/sda4分区。(详情可参考给出的链接)
使用下面的命令:

1
2
3
4
fdisk -l
fdisk /dev/sda
n 扩展磁盘
一路回车,创建就一个新的分区

将新分区转换为LVM格式
重启,并且格式化该分区

第四步:用LVM工具创建逻辑卷

省略,具体看总结里给出的参考资料

第五步:拷贝/usr资料

第三步,我们有了/etc/sda4
第四步,得到了/dev/mapper/debian-lv

mount /dev/mapper/debian-lv /media
该命令将分区挂载到根目录media目录下。

用df -h 可以查看挂载成功

cp -r -p /usr/* /media
等待比较长的时间,拷贝成功

第六步:修改/etc/fstab,使得开机自动挂载/dev/mapper/debian-lv分区

添加一行图中所示

重启即可

如果还是不行,那就狠心删掉/usr
因为根目录100%,可以使用的空间为0的话,是没办法正常开机的

不过删掉之前,一定要重启看看,

第一,/etc/fstab是否成功自动挂载debian-lv分区,

第二,/dev/mapper/debian-lv分区的内容是否成功备份了/usr!


可能会遇到的问题:

pvcreate not found or ignored by filtering
解决方案:pvscan -vvv

于是我们要修改配置文件,添加全局过滤器global_filter
vi /etc/lvm/lvm.conf

pvcreate /dev/sda4 成功了

pv的意思是,physical volume物理卷


总结

  • 为什么我在扩展磁盘的时候不知道备份一下虚拟机呢?反
    省。。

  • fdisk -l 查看有哪些磁盘
    df -h 查看分区、容量大小、使用率等

  • 什么是LVM?
    参考,简单的说就是磁盘管理工具

  • 开机自动挂载/etc/fstab使用