Linux多系统并存的GRUB配置文件内容分析

yizhihongxing

GRUB(Grand unified bootloader)是一个开源的、多操作系统引导程序。它被广泛用作Linux系统的启动程序,可以在多个操作系统之间切换引导。在同一计算机上存在多个操作系统时,需要配置GRUB以保证各个操作系统正确地引导。本攻略将讲解Linux多系统并存时,对GRUB配置文件内容的分析过程。

  1. 确认系统分区情况

在进行GRUB配置文件的编辑之前,必须先确认磁盘分区情况。可以使用fdisk 或 parted命令,查看各分区的编号及挂载点。

例如,命令fdisk -l可以列出所有磁盘分区的详细信息。

```
Disk /dev/sda: 457.8 GiB, 492581078016 bytes, 963470576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B8C11EB5-5E61-44B5-B2DD-729DEA74210A

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 211181567 210131944 100.2G Linux filesystem
/dev/sda3 211181568 854974415 643792848 307.4G Linux filesystem
/dev/sda4 854974416 963467775 108493360 52G Linux swap
```

  1. 编辑GRUB配置文件

GRUB的配置文件通常位于/boot/grub/menu.lst 或 /boot/grub/grub.cfg。修改该文件时,需要使用root权限,推荐使用vim或nano编辑器。

2.1 设置默认系统

当计算机重启时,默认启动哪个操作系统至关重要。可以通过修改GRUB配置文件中的default条目来更改默认引导的操作系统。

在配置文件中找到default行,将其值更改为想要启动的操作系统的编号,该编号是从0开始的选项列表中的位置。例如,将default设置为2将引导第三个操作系统,编号为2。

default 2

2.2 设置超时时间

GRUB配置文件包含timeout行,它控制默认引导系统之前的等待时间(以秒为单位)。如果不希望等待任何时间,请将该值设置为0。

timeout 5

2.3 添加新系统

如果计算机新安装了操作系统,则需要在GRUB配置文件中添加新系统。要添加新的GRUB菜单选项,请先切换到根目录,并在/boot/grub/目录下执行以下命令:

grub-mkconfig -o /boot/grub/grub.cfg

该命令会自动检测已安装的操作系统,并向GRUB配置文件中添加新的条目。可以在文件末尾查看新添加的内容。

End of file

如果想手动添加一个新的菜单项,则需要在GRUB配置文件中添加以下内容:

menuentry "New OS" {
    set root='(hd0,1)'   # 设置引导分区 root 设备
    chainloader +1        # 启动引导程序
}

这里,“New OS”是新安装的操作系统的名称;(hd0,1)是根目录的物理设备;+1意味着GRUB将从该分区中的最新引导程序启动。

实例代码:

menuentry 'New Operating System' {
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos3)'
        linux /boot/vmlinuz-4.4.0-21-generic root=/dev/sda3 ro quiet splash
        initrd  /boot/initrd.img-4.4.0-21-generic
}

上述代码中menuentry的语句名称为“New Operating System”,insmod用于加载模块,而set root则指定新安装操作系统的根目录硬盘分区(例如,(hd0,msdos3)指第一个物理硬盘上的第3个MSDOS磁盘分区)。“linux”语句的参数是新系统的内核映像文件和根设备,而“initrd”的参数是内核中用于初始化系统的RAM磁盘映像。

  1. 保存修改并测试

对于所有修改,一定要保存GRUB配置文件。之后,需要使用以下命令来测试更改是否生效:

grub-mkconfig -o /boot/grub/grub.cfg

该命令重新生成GRUB配置文件,并将其保存到/boot/grub/grub.cfg中。如果没有错误,则已成功修改GRUB配置文件。现在可以重启计算机并测试是否启动正确。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux多系统并存的GRUB配置文件内容分析 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • 详解Linux源码包快速升级方法

    当需要升级Linux源码包时,通常的做法是下载新版本源码包,然后重新编译、安装。这需要较长的时间和精力,特别是在一些旧版本的Linux系统上,升级过程中可能遇到各种问题。为了快速、高效地升级Linux源码包,可以采用快速升级方法。 快速升级方法基于原有的Linux源码包,只需更新或替换需要升级的文件或目录。通过这种方式,可以快速完成升级,同时保留原有的配置和…

    Linux软件安装 2023年3月25日
    00
  • 详解Linux vmstat命令:显示虚拟内存使用情况

    Linux vmstat 命令是一个监控系统的工具,用于实时监测 Linux 系统的进程、内存、虚拟内存、磁盘 I/O 等信息。具体来说,vmstat 命令可以提供大量的系统性能指标,包括 CPU 使用率,内存使用情况,磁盘 I/O 等等。 vmstat 命令的使用方法: vmstat [选项] [时间间隔] [执行次数] 选项: -a:报告活跃和非活跃内存…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux nethogs命令:显示当前网络使用情况

    Linux nethogs 命令是一款用于监控网络带宽和进程网络流量的实用工具。它可以显示每个进程所消耗的带宽、流量和协议等信息,帮助管理员快速定位系统瓶颈,优化网络性能。 下面就来详细讲解一下nethogs命令的使用方法。 安装 首先需要在Linux上安装nethogs,以Ubuntu为例,可以使用以下命令进行安装: sudo apt install ne…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux SetUID(SUID)文件特殊权限用法

    Linux SetUID(SUID)是一种在Unix/Linux系统下设置文件的权限属性,它允许一个普通用户在执行这个文件时,以拥有该文件所属用户的权限来执行。通俗地讲,如果一个文件被设置了SUID权限,那么当一个普通用户执行该文件时,就拥有了该文件属主的权限,比如root用户等,但是SUID所获得的权限仅限于文件拥有者具备的权限,对于其他的权限则没有作用。…

    Linux权限管理 2023年3月25日
    00
  • 详解Linux /etc/gshadow文件内容解析

    Linux系统中,每个用户账号都有一个对应的密码,这个密码存储在 /etc/passwd 文件中,但是这个密码是以明文形式存储的,很容易被破解。因此,Linux系统提供了 /etc/shadow 文件来加密存储用户密码。而 /etc/gshadow 文件则对应着系统中的组密码,本文将对 /etc/gshadow 文件的作用和使用方法进行详细讲解。 1. /e…

    Linux用户和用户组管理 2023年3月25日
    00
  • SELinux默认安全上下文的查询和修改(semanage命令)

    SELinux是一种基于策略的访问控制机制,其核心概念之一是安全上下文,它是用于控制SELinux策略的关键元素。而semanage命令则是管理SELinux策略的一个重要工具,下面将对它的默认安全上下文的查询和修改进行详细讲解。 查询默认安全上下文 要查询一个文件或者目录的默认安全上下文,可以使用semanage命令的fcontext子命令。比如,要查询/…

    SELinux管理 2023年3月25日
    00
  • 详解Linux file命令:显示文件类型

    以下是关于Linux file命令的详细作用与使用方法: file命令简介 file命令是Linux系统中常用的一个命令,用于查看文件的类型,以及一些文件的基本信息。使用file命令能够让我们快速了解一个文件的大体情况,对于日常文件操作和问题排查都有很大的帮助。 file命令语法 file命令的基本语法如下: file [option] name 其中opt…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux dmesg命令:显示开机信息

    以下是详细讲解Linux dmesg命令作用与使用方法的完整攻略。 1. 作用 dmesg 命令是一条用来查看内核环缓冲区信息的命令。该命令可以显示操作系统开机及运行时的内核信息,并以人类易读的方式呈现,提供了了解系统运行状况的重要途径。dmesg 可以查看大量系统内核所产生出的调试信息,这些信息体现了系统运行状况,可以为排除问题提供不少帮助。 2. 使用方…

    Linux系统管理 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部