听听海风 發表於 2024-1-23 23:19:00

Debian grub丢失后修复的方法

<h1>第一种,命令方式</h1>
<h2>通过Debian rescue模式重建grub</h2>
<ol>
<li>制作debian的U盘安装盘</li>
<li>进入debian的U盘安装盘的 rescue模式(急救模式)</li>
<li>选择语言/键盘/输入姓名/配置网络等信息后,进入急救模式-&gt;选择在安装程序环境中运行shell-&gt;选择请不要使用根文件系统(方便手动挂载已有系统文件系统)。</li>
</ol>
<div class="cnblogs_code">
<pre># 由于/ /boot /<span style="color: rgba(0, 0, 0, 1)">home都是独立的分区,所以需要分别进行挂载
mount </span>/dev/sda11 /<span style="color: rgba(0, 0, 0, 1)">mnt
mount </span>/dev/sda8 /mnt/<span style="color: rgba(0, 0, 0, 1)">boot
mount </span>/dev/sda12 /mnt/<span style="color: rgba(0, 0, 0, 1)">home
mount </span>-t proc proc /mnt/<span style="color: rgba(0, 0, 0, 1)">proc
mount </span>-t sysfs sys /mnt/<span style="color: rgba(0, 0, 0, 1)">sys
mount </span>-o bind /dev /mnt/<span style="color: rgba(0, 0, 0, 1)">dev
chroot </span>/mnt /bin/<span style="color: rgba(0, 0, 0, 1)">bash
grub</span>-install /dev/<span style="color: rgba(0, 0, 0, 1)">sda
grub</span>-mkconfig -o /boot/grub/<span style="color: rgba(0, 0, 0, 1)">grub.cfg

cd </span>/<span style="color: rgba(0, 0, 0, 1)">
umount </span>-<span style="color: rgba(0, 0, 0, 1)">a
exit
cd </span>/<span style="color: rgba(0, 0, 0, 1)">
umount </span>-<span style="color: rgba(0, 0, 0, 1)">a
reboot
# 重启后即可出现引导菜单界面

# 若有办法进入系统(如手动启动引导),则可进入系统后直接采用如下方式安装grub
sudo grub</span>-install /dev/<span style="color: rgba(0, 0, 0, 1)">sda
sudo grub</span>-mkconfig -o /boot/grub/<span style="color: rgba(0, 0, 0, 1)">grub.cfg
reboot</span></pre>
</div>
<p>&nbsp;</p>
<h2>手动启动引导</h2>
<p>从win的启动引导中进行手动启动引导.此方式需要在win下通过easybcd安装grub,所以需要能进入win系统.既然能进入win,当然也可以在win下制作对应Linux系统的U盘安装盘,然后通过上面介绍的救援模式进行修复.</p>
<ol>
<li>在win下安装easybcd</li>
<li>添加linux的grub,可针对不同分区多添加几项,避免不断重启添加其他分区。</li>
<li>重启后即可出现linux的grub引导项,可逐项尝试。</li>
<li>进入grub rescue后,即可进行手动启动引导。</li>
<li>可通过ls查看分区信息.</li>
<li>若根分区为(hd0,10),输入如下命令(注:root和prefix后到末尾都没有输入空格)</li>
</ol>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">set</span> root=(hd0,<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(0, 0, 255, 1)">set</span> prefix=(hd0,<span style="color: rgba(128, 0, 128, 1)">10</span>)/boot/<span style="color: rgba(0, 0, 0, 1)">grub
insmod normal
normal
# 最后的normal命令输入后即可进入引导菜单。
# 进入系统后即可直接安装grub

# 若未能进入grub2引导菜单,而是进入了另一个grub2命令界面.可在此进行如下操作.

</span><span style="color: rgba(0, 0, 255, 1)">set</span> root=(hd0,msdos8)               # (hd0,msdos8)      为/<span style="color: rgba(0, 0, 0, 1)">boot分区
linux </span>/vmlinuz* ro root=/dev/sda11       # *<span style="color: rgba(0, 0, 0, 1)">指具体的内核版本,可通过tab键补全, sda11为根目录的分区.
initrd </span>/initrd.img*<span style="color: rgba(0, 0, 0, 1)">
boot

# 至次已经成功启动系统.
# </span><span style="color: rgba(0, 0, 255, 1)">set</span> root=(hd0,msdos8)               (hd0,msdos8)      为/<span style="color: rgba(0, 0, 0, 1)">boot分区
# linux </span>/vmlinuz* ro root=/dev/sda11    *指具体的内核版本,可通过tab键补全, sda11为根目录的分区.   注:若/boot为独立分区时:/vmlinuz*   若/boot不是独立分区时:/boot/vmlinuz*<span style="color: rgba(0, 0, 0, 1)">
# initrd </span>/initrd.img*    *<span style="color: rgba(0, 0, 0, 1)">指具体的内核版本,可通过tab键补全
# </span><span style="color: rgba(0, 0, 255, 1)">set</span> root后,可通过ls命令查看该分区指定路径下的文件信息.比如:不记得分区信息了,可依次设置分区,然后通过ls查看/或/boot下是否包含内核文件及根分区相应的目录,从而确定/分区和/boot分区.</pre>
</div>
<p>转自:https://www.uupee.com/home/view/1362/</p>
<h1>第二种,图形化方式</h1>
<p>debian安装U盘进入高级模式</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231417665-7663491.png"></p>
<p>&nbsp;</p>
<p>选命令行急救模式</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231429879-1499744486.png"></p>
<p>&nbsp;</p>
<p>一路默认配置即可,中文就行</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231440277-1874261331.png"></p>
<p>&nbsp;</p>
<p>网络用不到</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231503845-845055961.png"></p>
<p>&nbsp;</p>
<p>一直到选择根目录,就是linux安装的系统盘,/ 目录&nbsp;,我的是/dev/sda2</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231516603-2004003900.png"></p>
<p>&nbsp;</p>
<p>yes即可</p>
<p>&nbsp;如果:此处选择后,进入了恢复模式的命令行,输入exit退出恢复模式即可,继续下一步</p>
<p>进入急救模式</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231530082-1098190657.png"></p>
<p>&nbsp;</p>
<p>选重安装Grub引导,需要手动输入esp分区</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231551954-160376682.png"></p>
<p>&nbsp;</p>
<p>输出引导分区,我一般esp分区安装在头部,即/dev/sda1。默认安装的是尾部盘区,看自己当初磁盘分区</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231610436-834257268.png"></p>
<p>&nbsp;</p>
<p>安装完,重启系统就好了</p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/2045302/202401/2045302-20240123231623036-1429968798.png"></p>
<p>&nbsp;</p>
<p>转自:https://blog.csdn.net/liao1049164366/article/details/117133568</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/yeziwinone/p/17983658
頁: [1]
查看完整版本: Debian grub丢失后修复的方法