linux mbr grub ist der Startvorgang des gesamten Linux-Systems. Der vollständige englische Name von mbr lautet „Master Boot Record“, was bedeutet, dass der Master Boot Record am Kopf der Festplatte gespeichert ist und eine Größe von 512 Byte hat ; der vollständige englische Name von Grub ist „Grand Unified“ Bootloader“, was ein Multisystem-Startprogramm darstellt.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
Was ist Linux MBR Grub?
Detaillierte Erklärung des Linux-Startvorgangs: BIOS->MBR->GRUB usw.
Übersicht
Linux ist ein kostenloses und Open-Source-UNIX-ähnliches Betriebssystem. Der Kernel des Betriebssystems wurde erstmals am 5. Oktober 1991 von Linus Torvalds veröffentlicht. Nach dem Hinzufügen von User-Space-Anwendungen wird es zum Linux-Betriebssystem. Linux ist das bekannteste Beispiel für freie Software und Open-Source-Softwareentwicklung.
Im Folgenden finden Sie zur Erinnerung eine kurze Aufzeichnung des gesamten Prozesses des Linux-Systems vom Booten bis zur Verwendung!
LINUX-Startvorgang
Lassen Sie uns zunächst den gesamten Systemstartvorgang anhand eines Bildes verstehen. Der gesamte Prozess kann grundsätzlich in POST-->BIOS-->MBR(GRUB)-->Kernel unterteilt werden - ->Init-->Runlevel. Die Rolle jedes Prozesses wird im Folgenden ausführlich erläutert.
BIOS
BIOS (Basic Input/Output System), das grundlegende Eingabe- und Ausgabesystem, wird auf dem ROM-Chip des Motherboards gespeichert System, und dann findet ein Selbsttest beim Einschalten statt. Dieser Prozess überprüft tatsächlich die CPU und den Speicher, die grundlegendsten Komponenten des Computers (Controller, Recheneinheit und Speicher). Keine Auffälligkeiten, es beginnt mit dem Laden des BIOS-Programms in den Speicher. Auf die detaillierten BIOS-Funktionen wird hier nicht eingegangen. Eine der Hauptfunktionen des BIOS besteht darin, die Startsequenz der Festplatte zu speichern. Das BIOS sucht nach den MBR-Informationen des ersten Festplatten-Headers und lädt diese Führen Sie das Bootloader-Programm im MBR aus. Wenn der MBR nicht auf der ersten Festplatte vorhanden ist, wird weiterhin nach der zweiten Festplatte gesucht (PS: Die Startreihenfolge kann in der BIOS-Schnittstelle festgelegt werden.) und in den Speicher geladen, übergibt das BIOS die Steuerung an das BootLoader-Programm.
MBR
MBR (Master Boot Record), Master Boot Record, MBR wird im Kopf der Festplatte gespeichert, die Größe beträgt 512 Byte, davon werden 446 Byte zum Speichern des BootLoader-Programms und 64 Byte verwendet Zum Speichern von Partitionstabelleninformationen werden die letzten 2 Bytes verwendet. Gültigkeitsprüfung im MBR.
GRUB
GRUB (Grand Unified Bootloader), ein Multisystem-Startprogramm, dessen Ausführungsprozess in drei Schritte unterteilt werden kann:
Stufe 1: Dies ist eigentlich MBR, seine Hauptaufgabe besteht darin, zu finden und Laden Sie das erste Bootloader-Programm der zweiten Stufe (Stufe2), aber wenn das System nicht gestartet ist, kann MBR das Dateisystem überhaupt nicht finden und den Speicherort von Stufe2 nicht finden. Daher gibt es Stufe1_5
Stufe1_5: Dieser Schritt dient der Identifizierung des Dateisystems
Stufe 2: Das GRUB-Programm sucht anhand der Datei /boot/grub/grub.conf nach Kernel-Informationen und beginnt dann mit dem Laden des Kernel-Programms, wenn das Kernel-Programm erkannt und in den Speicher geladen wird , GRUB überträgt die Kontrolle an das Kernel-Programm.
PS: Tatsächlich wurde in diesem Schritt das Dateisystem der Festplatte, auf der sich Grub befindet, nicht gemountet, daher sollte es sich tatsächlich um die Datei /grub/grub.conf handeln Die Datei lautet wie folgt:
grub.conf:
#boot=/dev/sda default=0 #设定默认启动的title的编号,从0开始 timeout=5 #等待用户选择的超时时间 splashimage=(hd0,0)/boot/grub/splash.xpm.gz #GRUB的背景图片 hiddenmenu #隐藏菜单 title CentOS (2.6.18-194.el5PAE) #内核标题 root (hd0,0) #内核文件所在的设备 kernel /vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ #内核文件路径以及传递给内核的参数 initrd /initrd-2.6.18-194.el5PAE.img #ramdisk文件路径
Kernel
Kernel, Kernel, Kernel ist das wichtigste Programm im Linux-System. Tatsächlich ist die Kernel-Datei sehr klein, nur die grundlegendsten Module bleiben erhalten und werden in Form komprimierter Dateien auf der Festplatte gespeichert. Wenn GRUB den Kernel in den Speicher liest, beginnt der Speicher, die Kerneldatei zu dekomprimieren. Wenn wir über den Kernel-Start sprechen, sollten wir zuerst über die initrd-Datei
initrd (Initial RAM Disk) sprechen, die im Schritt 2 in den Speicher kopiert wird. Diese Datei wird bei der Installation des Systems generiert und ist eine temporäre Root-Datei System. (rootfs). Da der Kernel zur Vereinfachung nur die grundlegendsten Module beibehält, gibt es im Kernel keine Treiber für verschiedene Hardware. Daher kann er das Gerät, auf dem sich das Rootfs befindet, nicht erkennen. Daher wird die initrd-Datei generiert, die den erforderlichen Treiber lädt Module: Wenn der Kernel startet, kann das Treibermodul aus der initrd-Datei geladen werden, bis das echte Rootfs gemountet ist, und dann wird das initrd aus dem Speicher entfernt.
Kernel mountet das Root-Dateisystem im schreibgeschützten Modus. Wenn das Root-Dateisystem gemountet ist, beginnt es, den ersten Prozess (User-Space-Prozess) zu laden, /sbin/init auszuführen und dann die Kontrolle an das Init-Programm zu übertragen .
Init
init,初始化,顾名思义,该程序就是进行OS初始化操作,实际上是根据/etc/inittab(定义了系统默认运行级别)设定的动作进行脚本的执行,第一个被执行的脚本为/etc/rc.d/rc.sysinit,这个是真正的OS初始化脚本,简单讲下这个脚本的任务(可以去看看实际脚本,看看都做了什么):
激活udev和selinux;
根据/etc/sysctl.conf文件,来设定内核参数;
设定系统时钟;
装载硬盘映射;
启用交换分区;
设置主机名;
根文件系统检测,并以读写方式重新挂载根文件系统;
激活RAID和LVM设备;
启用磁盘配额;
根据/etc/fstab,检查并挂载其他文件系统;
清理过期的锁和PID文件
执行完后,根据配置的启动级别,执行对应目录底下的脚本,最后执行/etc/rc.d/rc.local这个脚本,至此,系统启动完成。
Runlevel
runlevel,运行级别,不同的级别会启动的服务不一样,init会根据定义的级别去执行相应目录下的脚本,Linux的启动级别分为以下几种
0:关机模式
1:单一用户模式(直接以管理员身份进入)
2:多用户模式(无网络)
3:多用户模式(命令行)
4:保留
5:多用户模式(图形界面)
6:重启
在不同的运行级别下,/etc/rc.d/rc这个脚本会分别执行不同目录下的脚本
Run level 0 – /etc/rc.d/rc0.d/ Run level 1 – /etc/rc.d/rc1.d/ Run level 2 – /etc/rc.d/rc2.d/ Run level 3 – /etc/rc.d/rc3.d/ Run level 4 – /etc/rc.d/rc4.d/ Run level 5 – /etc/rc.d/rc5.d/ Run level 6 – /etc/rc.d/rc6.d/
这些目录下的脚本只有K*和S*开头的文件,K开头的文件为开机需要执行关闭的服务,S开头的文件为开机需要执行开启的服务。
相关推荐:《Linux视频教程》
Das obige ist der detaillierte Inhalt vonWas ist Linux MBR Grub?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!