zoukankan      html  css  js  c++  java
  • 日常系统维护之修复linux的grub引导

    恩,不知道怎么表达为win10的更新很烦人,其实我感觉windows用的不是那么顺手,但是制作视频的时候还是要用到,图片的话linux也可以胜任,毕竟GUN IMAGE还是挺不错的,但到了视频制作方面,显卡就跟不上了(万恶的N卡,这卡的驱动真实难找)。视频制作的花adobe家族还是挺好用的,linux有openshot可以用,不过不如pr好用,但linux在运维上和windows比就不是一个档次了,什么linux不友好,对用户不好,这里更正一下linux没有传说中的那么神,就是使用习惯的问题,就如同windows已经打下的用户习惯不是说改就改的,mac挑战过不是也失败了吗,所以苹果专攻手机,看见图标就点,返回就按home键,反正我是改不了了,微软和ubuntu也发布过手机,那一个善终了,接连微软都改过windows的桌面,但人家才大气粗,没事。最后还是改回来了。

    感觉车开的有点偏了,今天就是想写修复的记录,至于对windows发牢骚还是要从那天晚上说起。

    晚上10点多的时候,终于能休息了,关闭pr,ae,看了一眼消息提示,哦今天系统更新啊,于是乎我舒适的当在床上静静的看着电脑更新,我不知道是不是只有我这样,盯着那小圈圈,看着那百分比。然后,然后就根新完了重启,可该死的没有linux的其的选项。西科修!!!我特地用两个硬盘分别安装系统的,理论上应该不会有引导启动的影响的。

    Linux version: 5.2.9-arch1-1-ARCH

    检测方法:liveCD,拯救模式(rescue mode)没用过,所以不做描述。

    现在几乎都用U盘作为启动盘了,所以我制作了一个arch的启动盘(软件rufus),然后mount,chroot,umount,reboot

    细说一下:

    进入U盘中的系统

    #umane -m 判断系统架构 我的是X86_64的(U盘中的要和原系统一致)

    #lsblk 判断分区,用cfdisk也可以,不过为个人喜欢前者

    然后mount分区,从根分区开始,然后是boot分区,然后是home,我就这几个分区

    例子:#mount /dev/sda1 /mnt

    做完上面步骤后

    #mount -t proc /proc /mnt/proc

    #mount -t sysfs sys /mnt/sys

    #mount -o bind /dev /mnt/dev

    #chroot /mnt /bin/bash

    我一开始想进入grub提示符界面进行修复的

    但提示command not found

    所以判断grub有可能不见了,所以重新安装,#grub-install /dev/sda

    然后:error cannot find EFI directory,我估计是/boot/efi没有mount,好所以退出去重新挂载 #mount | grep /boot/efi  #chroot 

    然后#grub-install --efi-directory=/boot/EFI

    然后EFI variable are not supported in this system

    grub-install:error: efibootmgr failed to register the boot entry:no such file or directory

    我谷歌了一下,发现问题可能是efivars内核模块没有加载

    然后用modprobe试了一下,果然如此

    #modprobe efivars

    error: FATAL:module efivars not found in directory /lib/modules/5.2.5-arch/-1.ARCH

    然后思路就清晰了,把这个模块装上去就可以了

    第一种方法:#mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars

    第二种方法:#sudo pacman -S efibootmgr

    然后#grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --rechech

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

    修复到此结束,问题跟我猜的差不多

  • 相关阅读:
    mysql 的安装
    nginx的安装
    修改网站默认目录
    配置yum仓库 安装httpd服务
    安装 VMware Tools
    phpstrom + xdebug 断点调试
    公网IP访问服务器
    mysql in操作和find_in_set函数
    网页授权有时候获取不到openid 的坑
    解决Required Integer parameter 'id' is not present的一种方法
  • 原文地址:https://www.cnblogs.com/callmelord/p/11420457.html
Copyright © 2011-2022 走看看