ubuntu误删内核的解决方案


要删除Ubuntu,您需要Windows恢复DVD或安装DVD或Ubuntu Live DVD。

注意: 如果您没有Windows恢复或安装DVD,则可以从Microsoft下载中心下载适用于Windows 10,Windows 8或Windows 7的官方ISO文件。Windows将仅在没有正版产品密钥的情况下作为评估副本安装30天。

使用Windows恢复DVD或安装DVD

  1. 获取Windows恢复介质或安装CD并从中启动。您应该在恢复媒体 CD 上看到此屏幕或类似屏幕。

    您应该在安装媒体 CD 上看到这一点。单击“修复计算机”,您将看到类似第一张图像的屏幕。

  2. 打开命令提示符,然后键入bootrec /fixmbr命令提示符。

  3. 重新启动并启动到Windows。然后按照以下步骤删除Ubuntu分区。


使用Ubuntu Live DVD和启动修复

如果您没有Windows恢复CD,或者您无法下载和刻录之前提到的ISO文件,则可以使用Boot-repair。它是一个修复大多数启动问题的工具(Windows或Ubuntu)。我建议尽可能使用Windows CD。

  1. 从Ubuntu Live DVD或USB启动

  2. 一次在终端中输入这些行。

    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt-get update
    sudo apt-get install boot-repair
    
  3. 在Dash中搜索Boot-Repair并启动它。

    要使用Boot-repair修复计算机,只需单击“推荐修复”按钮。然后按照以下步骤删除Ubuntu分区。


      在更新ubuntu系统时,更新几次之后会提醒boot分区空间不足,打开boot目录会发现里边有之前旧的内核文件,如果不知道用命令删除,就在命令行强行删除了版本号小的文件,可能会删除正在使用的内核文件,就会导致系统无法启动。

      大部分人可能会重装系统解决,但是这样未免有点因小失大、大动干戈。本文将提供一个比较保守的方法,利用grub来启动系统,再重新安装内核。

ubuntu误删内核的解决方案_第1张图片

工具/原料

  • Ubuntu的U盘启动盘或类似有grub的系统启动盘(debian、kali等等)

  • 需要修复的电脑

方法/步骤

  1.  制作一个Linux的U盘启动盘或者叫U盘安装盘,之前如果用U盘安装ubuntu的话应该已经做好了;

    0制作u盘启动盘教程

  2. 开启电脑进入bios将系统启动设置为U盘启动,插好U盘重启电脑;这个因电脑而异,而且新旧方法也不同,请自行百度。

  3. 系统启动后,如果是Ubuntu等系统选择试用Ubuntu,其他有些Linux系统可能是LiveCD方式;

  4. 进入系统后将Ubuntu的ISO文件挂载,找到里边的casper文件,将其中的initrd.lz和vmlinuz.efi文件复制到电脑系统的boot分区(如果你单独给boot分区)或者文件夹里(位于/目录下的boot目录);

    ubuntu误删内核的解决方案_第2张图片

    ubuntu误删内核的解决方案_第3张图片

  5. 重启电脑,进入grub命令行。

    电脑如果只安装Ubuntu的话开机不会显示grub菜单,可以在系统启动时按shift键进入grub。但是有时候时间太短不好进可以修改/etc/default/grub文件中的GRUB_HIDDEN_TIMEOUT的值为大于0的值,则在系统启动时会等待设置的时间再进入系统,这段时间shift或者esc进入grub,再按下c进入grub命令行;

    ubuntu误删内核的解决方案_第4张图片

    ubuntu误删内核的解决方案_第5张图片

  6. 在命令行输入ls –l,会列出所有的分区及相关的文件系统类型、分区起始位置、分区大小等等;

    补:ls (hdX,msdosY)/ 可以列出该分区下的所有文件,依次类推可以查看各级目录下的所有文件。X代表物理磁盘,编号从0开始;Y代表分区号,编号从1开始。使用时括号必须有。

    ubuntu误删内核的解决方案_第6张图片

    ubuntu误删内核的解决方案_第7张图片

  7. 指定root到boot分区(单独分区)或者系统/分区

           set root=(hd0,msdos1)

    这里假设boot分区是hd0,msdos1。

    ubuntu误删内核的解决方案_第8张图片

  8. 启用内核

           a)  输入:linux /vmlinuz.efi root=UUID=xxxxxxxxxxxxxxxx

              或者linux /vmlinuz.efi root=/dev/sda*

     

           linux后跟vmlinuz.efi的路径,如果如果boot分区是独立的,则就在/目录下,如果不是,则我们只能挂载根目录分区,路径就变成/boot/。root是根目录磁盘的UUID。

          补:root=后边可以有两种方式,如果知道根目录的设备号,比如sda1,可以使用第二种方式,如果不知道,则可以输入UUID,这个号码在grub命令行输入ls –l可以列出,根据磁盘大小应该可以确定哪个是挂载/目录的分区。

          b)  输入:initrd /initrd.lz

     

          c)  输入:boot

         之后系统重启。如果配置正确,系统应该能够正常启动,进入登录界面。打开终端输入下面命令更新内核

          sudo apt-get install linux-image-x.x.x-xx-generic

          sudo apt-get install linux-headers-x.x.x-xx-generic

          安装完成后重启系统,新内核就生效了。

          补:内核除了generic还有lowlatency,后者为低延迟内核;

    ubuntu误删内核的解决方案_第9张图片

    ubuntu误删内核的解决方案_第10张图片

    ubuntu误删内核的解决方案_第11张图片

  9.  如果安装过程中提示boot空间不足,可能会导致无法安装新内核,可以通过以下命令删除旧内核。

          sudo apt-get remove linux-image-(版本号)

    如果卸载不完全,输入下面命令删除

          sudo apt-get autoremove

          补:删除之前可以查看一下当前使用的内核是哪个版本,防止误删,命令如下

          uname –r

     此外用dpkg --get-selections|grep linux命令可以查看已经安装过的内核。

    ubuntu误删内核的解决方案_第12张图片

    ubuntu误删内核的解决方案_第13张图片

    END

注意事项

  • 第8步使用Linux命令两个参数必须同时输入

  • UUID一定要输对,如果输错可能会进入一个命令行,输入reboot可以重启电脑

  • grub命令行输入set可以查看环境变量参数

 

 

你可能感兴趣的:(嵌入式)