VMware中ubuntu虚拟机系统升级异常导致无法正常开机

Ubuntu虚拟机启动修复
本文介绍了一种解决Ubuntu虚拟机因系统更新失败导致无法启动的问题。通过选择旧版本内核并卸载问题版本,成功恢复系统正常运行。

1、现象:今天打开ubunt虚拟机,界面弹出这个窗口,显示无法正常开启。

2、原因查找:记得昨晚虚拟机关机的时候系统进行更新,70%多的时候,好像我把网断了,过了一会儿系统关机,但似乎更新并没有正常走到100%,应该就导致新更新的的系统版本出现异常,今天开机就是已新系统启动,所以启动不了出现错误提示。

3、解决方案查找

上图警告点击确定或者叉掉后界面提示kernel panic......(图没截下来),然后重新开机会自己进入grub引导界面(没有得话重新开机,立马按住shift即可进入),如下图所示:

进入高级选项,可以看到-112版本就是昨晚升级失败的版本,-91为升级前的正常版本。

选择-91正常进入系统,打开终端依次使用如下命令:

①uname -a 查看当前安装的内核版本确认是-91版本:

②dpkg --get-selections| grep linux 查看目前已经安装的Linux内核

③sudo apt-get remove linux-image-4.15.0-112-generic (或者使用apt-get purge)   将这个-112的有问题的系统版本彻底卸载

下次重启系统,就默认会使用原来正常的版本启动了。

<think>好的,我需要帮助用户在VMwareUbuntu虚拟机上完成磁盘分区、文件系统创建、挂载和卸载等操作。用户已经提供了一些之前的对话和引用,我需要参考这些内容来生成详细的步骤。首先,回顾用户的需求,他们希望了解如何在VMware中添加虚拟硬盘,使用fdisk创建主分区和逻辑分区,用mkfs格式化为ext4,用fsck检查文件系统,创建挂载点,使用mount命令挂载和卸载,以及进行文件和文件夹操作。 首先,我需要确保步骤符合用户之前的指导和引用内容。例如,用户提到MBR分区表中主分区最多四个,逻辑分区需要扩展分区,编号从5开始。之前的回答中已经涉及这些内容,但可能需要更详细说明。同时,用户引用了fdisk的交互命令和/etc/fstab的配置,这些需要整合到步骤中。 接下来,我需要组织步骤,使其逻辑清晰,分阶段进行。可能的结构是:添加硬盘、分区、格式化、检查、挂载、文件操作、卸载和重新挂载、自动挂载设置。每个步骤需要详细说明命令和操作,特别是针对VMware的环境,比如如何添加硬盘,可能和VirtualBox有所不同,需要确认VMware的具体操作。 在添加虚拟硬盘部分,用户之前提到在VirtualBox中的步骤,但用户现在使用的是VMware,所以需要调整为VMware的操作流程。例如,在VMware中,添加硬盘需要关闭虚拟机,然后通过虚拟机设置添加新硬盘,选择SCSI或SATA类型,设置大小等。启动后使用lsblk或fdisk -l查看新硬盘。 在分区步骤,使用fdisk创建主分区和逻辑分区。这里需要明确扩展分区的创建,因为逻辑分区必须在扩展分区内。用户之前的回答中已经涉及n→p→主分区,然后n→e→扩展分区,再n→l→逻辑分区的步骤,需要再次强调,并确保用户理解MBR的限制。 格式化部分使用mkfs.ext4,检查使用fsck,这些命令需要正确参数,例如指定设备路径。挂载点创建目录,使用mount命令挂载,并在操作后卸载。用户还提到重新挂载到新位置并验证文件存在,这部分需要明确步骤,比如umount后mount到新目录,并用ls检查。 最后,用户可能需要设置开机自动挂载,需要编辑/etc/fstab,使用UUID或设备路径。这里需要引用用户提供的引用内容,说明fstab各字段的含义,如设备名、挂载点、文件系统类型、选项等。 需要验证每个步骤的正确性,例如在创建逻辑分区时,是否必须先创建扩展分区,以及逻辑分区的编号是否正确。同时,注意命令中的sudo权限,确保用户知道需要管理员权限执行这些操作。 可能遇到的问题包括硬盘未识别、分区表未更新、挂载点不存在等,需要在步骤中提醒用户如何排查,例如使用partprobe或重启,检查目录是否存在等。 总结来说,需要将用户的需求分解为逐步操作,结合之前的引用和正确命令,确保在VMware环境下准确无误,同时解释相关概念如MBR、ext4、挂载点等,帮助用户理解原理。</think>### **VMware Ubuntu虚拟机磁盘管理全流程指南** --- #### **一、添加虚拟硬盘(VMware环境)** 1. **关闭Ubuntu虚拟机** 2. 右键虚拟机 -> 选择 **设置** -> **硬盘** -> **添加** 3. 选择 **SCSI** 或 **SATA** 类型 -> 设置容量(如20GB) -> 完成 4. 启动Ubuntu,**验证新硬盘**: ```bash sudo fdisk -l # 查看新硬盘设备名(通常为/dev/sdb或/dev/sdc) ``` --- #### **二、使用fdisk创建分区(MBR方案)** ##### **1. 主分区创建(示例:/dev/sdb1,分配5GB)** ```bash sudo fdisk /dev/sdb 命令序列: n # 新建分区 p # 主分区(Primary) 1 # 分区号1 回车 # 起始扇区默认 +5G # 分配5GB p # 查看分区表(确认sdb1已创建) ``` ##### **2. 扩展分区与逻辑分区(示例:/dev/sdb5,分配10GB)** ```bash 继续在fdisk中操作: n # 新建分区 e # 扩展分区(Extended)(占用剩余空间) 回车 # 起始扇区默认 回车 # 结束扇区默认(占用剩余空间) n # 在扩展分区内新建逻辑分区 l # 逻辑分区(Logical) 回车 # 起始扇区默认 +10G # 分配10GB p # 查看分区表(确认sdb5存在) w # 保存退出 ``` **关键说明**: - MBR分区中,主分区最多4个,逻辑分区必须位于扩展分区内[^1] - 逻辑分区编号从5开始(即使未使用全部分区号)[^1] --- #### **三、格式化分区为ext4文件系统** ```bash # 格式化主分区 sudo mkfs.ext4 /dev/sdb1 # 格式化逻辑分区 sudo mkfs.ext4 /dev/sdb5 # 验证文件系统类型 sudo blkid /dev/sdb1 /dev/sdb5 # 显示UUID和文件系统类型 ``` --- #### **四、文件系统检查(fsck)** ```bash sudo umount /dev/sdb1 # 必须先卸载分区 sudo fsck -y /dev/sdb1 # -y自动修复错误 # 输出显示"No errors"即正常 ``` --- #### **五、挂载与文件操作** ##### **1. 创建挂载点并挂载** ```bash sudo mkdir /mnt/main_partition /mnt/logical_partition sudo mount /dev/sdb1 /mnt/main_partition # 挂载主分区 sudo mount /dev/sdb5 /mnt/logical_partition # 挂载逻辑分区 ``` ##### **2. 创建测试文件** ```bash # 在主分区创建文件 sudo touch /mnt/main_partition/file1.txt # 在逻辑分区创建目录和文件 sudo mkdir /mnt/logical_partition/docs echo "VMware Disk Test" | sudo tee /mnt/logical_partition/docs/test.txt ``` ##### **3. 验证数据持久性** ```bash sudo umount /mnt/main_partition # 卸载主分区 sudo mount /dev/sdb1 /mnt/new_location # 挂载到新目录 ls /mnt/new_location # 应显示file1.txt ``` --- #### **六、开机自动挂载配置(/etc/fstab)** 1. **获取分区UUID**: ```bash sudo blkid /dev/sdb1 # 记录sdb1的UUID(如a1b2c3d4-5678-90ef...) ``` 2. **编辑/etc/fstab**: ```bash sudo nano /etc/fstab # 添加以下行(以主分区为例): UUID=a1b2c3d4-5678-90ef... /mnt/main_partition ext4 defaults 0 2 ``` - **字段说明**: 1. 设备标识(UUID更稳定) 2. 挂载点目录 3. 文件系统类型(ext4) 4. 挂载选项(defaults包含rw, exec, auto等) 5. 备份标记(0不备份) 6. 检查顺序(2表示非根文件系统)[^2] 3. **验证配置**: ```bash sudo mount -a # 重新挂载所有fstab条目,无报错即成功 ``` --- ### **七、关键问题解答** 1. **为什么逻辑分区必须创建在扩展分区内?** MBR规范中,主分区数量限制为4个,扩展分区作为特殊主分区,内部可划分多个逻辑分区[^1]。 2. **如何区分设备名(如sdb与nvme0n1)?** - `sdb`为SCSI/SATA硬盘,`nvme0n1`为NVMe固态硬盘 - 使用`lsblk`命令可清晰查看设备类型和挂载点。 3. **fsck检查失败怎么办?** - 尝试强制修复:`sudo fsck -f /dev/sdb1` - 严重损坏时使用`e2fsck -y /dev/sdb1`(ext4专用工具) --- ### **相关问题扩展** 1. **如何将MBR分区转换为GPT?** *需使用`gdisk`工具,但会清除所有数据,需提前备份。* 2. **如何调整现有分区大小?** *使用`parted`或图形工具GParted,需先卸载分区。* 3. **ext4与XFS文件系统的优劣对比?** *ext4兼容性好,XFS适合大文件和高并发场景。* 4. **如何监控磁盘I/O性能?** *使用`iotop`或`iostat`命令实时查看读写状态。* --- [^1]: MBR分区方案中,逻辑分区必须位于扩展分区内,且编号从5开始。 [^2]: `/etc/fstab`文件配置决定了系统启动时的挂载行为,需谨慎编辑。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值