zoukankan      html  css  js  c++  java
  • 使用grub2引导进入Linux或Window系统

    很多人在一通烂搞之后把自己的grub搞崩了(比如我当时手贱删除了boot分区)虽然后来又装了grub,但是进入grub后还是没有引导,只有一个孤零零的命令行界面

    这时候应该怎么办呢?首先当然是想进入系统对grub进行配置,但是怎么进入呢,其实只要几行命令就能解决啦

    上网查询发现

    如果系统中止于 grub> 提示符,表明 Grub 2 模块已经被加载,但是找不到 grub.cfg 文件
    
    当前是完全版的 Grub 2 命令行 shell,你可以通过多种方式解决此问题。如果你看到的是 grub rescue> 提示符,表明 bootloader 不能找到 Grub 2 模块或者找不到任何引导文件boot files。

    如果你是grub>提示符: 

    在grub的bash里面输入help,这是会弹出一大堆可用的命令,但是咱们不需要那么多

    输入ls,会列出所有的分区类似于(hd0,gpt1)或者(hd0,mbr1)这样的,首先要做的就是要知道自己的系统在那个分区,这一步,可以通过各种分区工具进行查看(比如gparted这类的)

    对于引导Linux和Windows,命令不一样但大体相同

    Linux 

    set root=(hd0,gpt5) //这个是我的linux分区,可以根据需要调整set ro
    linux /boot/vmlinuz-4.17.1-24 root=/dev/sda5 //你的linux内核,可以通过Tab补全,告知 Grub 内核镜像在分区中的位置,以及根文件系统的位置
    initrd /boot/initrd.img-4.17.1-24  //同样可以用tab补全。设置虚拟文件系统initial ramdisk文件的位置

    如果前面你都设置好了直接输入boot就能回到熟悉的linux了

    对于Windows用户

    如果想用grub引导windows,那你的window本身的引导应该没有问题才能用grub的chainloader功能,修复Windows的引导很容易,随便一个Windows PE都有这个功能

    如果你的电脑有EFI分区命令如下

    set root=(hd0,gpt1)  //你的efi分区位置
    chainloader=/EFI/Microsoft/bootmgrfw.efi //这个位置看你windows的efi文件的位置,可以用Tab补全

    输入boot即可引导

    如果没有efi分区,方法大同小异可以尝试着把root挂载到你的window分区的前一个分区,然后chainloader +1,如果不行也是让chainloader=你的efi文件的位置然后boot就行了,具体方法可以自行摸索

    One more Thing:

    如果你的电脑显示的是grub rescue> 提示符,那就要想办法加载grub,具体方法其他地方有很多,这里不在赘述

    如果你成功进入Linux,但是update-grub却检测不到Linux,这是最简单的办法就是重装一遍你的Linux内核,这样就能检测出来了

  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/PixelOrange/p/9389410.html
Copyright © 2011-2022 走看看