UEFI笔记本无法引导进入操作系统

现在的pc绝大多数都是通过uefi来引导操作系统的。有时候会因为折腾操作系统,无法启动。修复的过程如下:

1-下载efi shell x64,解压到u盘根目录,注意u盘文件系统是fat32的,这样才能被uefi识别。
2- 插到电脑上,进入bios,找到类似launch efi shell的项(华硕是这样的,其他品牌的不知道),回车进去后,即可进入efi的shell命令交互界面。
3-执行map命令,查看设备映射关系,比如fs0: fs1: blk0:等。仔细观察,分辨自己硬盘的映射的名字是什么。比如fs0表示某个磁盘的第0个分区。一般esp分区(efi system partition,efi系统分区)位于索引0。
4- 假设通过上面步骤已经确认了硬盘esp分区为fs0
则执行fs0: (注意有冒号)
然后执行ls 就会看到一个EFI的目录
执行cd EFI,再执行ls,就会发现还有一个目录(比如我的目录名是debian,有些人的是ubuntu之类的), cd debian,再ls就发现一个grubx64.efi的文件。这个文件就是efi的引导文件了。执行grubx64.efi就可以引导进系统了。
5- 进入系统后,执行update-grub2 即可修复grub引导(如果分区还没安装grub,可以先执行grub-install /dev/sdX, 再执行update-grub2)

grub引导错误,无法进入系统

   1-如果能到grub界面,但是不能引导操作系统,只是光标在闪烁。那么可以重启,再次进入grub,然后按下c,进入grub命令行界面。如果pc连grub命令都进不了,可以使用带grub的u盘进入grub命令界面。(例如使用debian的mini.iso结合dd命令或UltraISO让u盘具备grub引导功能)
2-载入内核:
进入grub命令行后
执行linux (hd0,gpt1)/vmlinuz root=/dev/sdXn ro quiet
#执行上面命令的时候,要充分利用tab的命令补全功能。比如输入 (hd 按下tab就会列出硬盘的分区信息。 可以通过分区大小来判断。上面的(hd0,gpt1)/是放vmlinuz内核的分区(如果有/boot分区,就是/boot分区,如果没有/boot分区,就是根分区)。后面的vmlinuz也是tab补全而来。
基本上敲grub命令就是不断tab的过程,直接敲tab两次可以列出所有的grub命令
上面droot=可以用类似/dev/sdXn的形式指明,也可以用uuid来指明,甚至可以用分区label来指明。
另外如果不想敲(hd0,gpt1),可以在执行linux和initrd两个命令前输入set root=(hd0,gpt1)
还有就是,grub如果不能识别分区,需要载入模块.zh执行类似insmod btrfs 、insmod gzip之类命令来载入模块,以便grub引导内核。
3- 载入initrd
执行initrd (hd0,gpt1)/initrd (输入initrd,敲tab补全)
4 - 执行boot命令引导
5- 进入操作系统后,执行update-grub2修复grub引导. (如果分区还没安装grub,可以先执行grub-install /dev/sdX, 再执行update-grub2)

笔记本亮度不能保存

1-安装各种驱动:

apt update
apt install firmware-linux-free firmware-linux firmware-linux-nonfree

2-重启后,ls /sys/class/backlight/会发现多了intel_backlight之类的东西(我的是intel的核芯显卡),此时可以通过echo 数字 >/sys/class/backlight/intel_backlight/brightness来调节亮度(以前通过/sys/class/backlight/acpi0*的调节范围很小)

3-保存亮度

修改/etc/default/grub

  • 在GRUB_CMDLINE_LINUX的值追加acpi_backlight=vendor (也可以填写电脑品牌,如果此行已经有配置了,那么各个配置项需要用空格隔开)
  • 在GRUB_CMDLINE_LINUX_DEFAULT追加 acpi_osi=Linux

    ps:这两行很相近,只是带DEFAULT的行只作用于normal模式,不作用于recove模式
  • update-grub2

禁用独立显卡

现在用的办法是:https://my.oschina.net/xdzy/blog/1616407

以前用的办法是(简单):

查看是否有/sys/kernel/debug/vgaswitcheroo/switch 如果有则执行

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

查看是否关闭独显,可以执行cat /sys/kernel/debug/vgaswitcheroo/switch,如果看到显示带第二行有类似DIS::OFF字样,说明独立显卡已经关闭了

如果不行,那就用BBSwitch了

KVM

  1. virtio驱动下载:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/

解决nmcli dev 中的wlan0显示unavailable

症状:

  • nmcli device 中显示wlan0显示unavailable
  • 使用nmcli device wifi搜不到无线网络

解决办法:

  • 先确定是不是硬件或软件禁用无线网卡了,执行rfkill list, 显示两个no,说明没有禁用
  • 检查无线网卡没有出现在/etc/network/interfaces或对应的.d目录下。
  • 禁用并停止dhcpcd。执行systemctl disable dhcpcd; systemctl stop dhcpcd 或者只针对wlan0禁用dhcpcd(在/etc/dhcpcd.conf添加denyinterfaces wlan0)
  • 重启networkManager服务systemctl restart NetworkManager,执行nmcli dev wifi就能搜索到无线网络了

杂项

  1. 安装laptop-mode-tools
  2. debian10下 搜狗拼音安装后不能正常打字,也不知道是不是因为这个才解决的:apt install ~/下载/sogoupinyin*.deb 前安装libqt4-declarative(解决执行sogou-qimpanel显示缺libqtdeclarative.so.4)

笔记本linux问题记录的更多相关文章

  1. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  2. Linux巩固记录(3) hadoop 2.7.4 环境搭建

    由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...

  3. Linux(2)---记录一次线上服务 CPU 100%的排查过程

    Linux(2)---记录一次线上服务 CPU 100%的排查过程 当时产生CPU飙升接近100%的原因是因为项目中的websocket时时断开又重连导致CPU飙升接近100% .如何排查的呢 是通过 ...

  4. 最近的linux工作记录

    最近的linux工作记录 最近公司走了一些同事,部分服务器交到了我的手里,总结一些常用的操作 注:大写的字符串一般是用来占位,需要替换 创建账户和使用密钥对登陆 1,账户系列 useradd 选项 用 ...

  5. Linux下记录所有用户的登录和操作日志

    Linux下记录所有用户的登录和操作日志   一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的 ...

  6. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  7. Linux问题记录——主机名变成了bogon

    Linux问题记录——主机名变成了bogon 摘要:本文主要记录了主机名变成bogon的原因以及解决办法. 问题重现 主机名在一次登录后,变成了bogon,此后每次登录Linux系统时都是bogon. ...

  8. 安装archlinux的linux命令记录

    磁盘的分区:cfdisk 格式化分区:mkfs.ext4,mkswap,swapon 查看所有分区:lsblk /dev/sda 先挂载 / 分区:mount /dev/sda1 /mnt archl ...

  9. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)

    一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...

  10. Linux学习记录

    ---恢复内容开始--- linux与unix的关系 linux是借鉴了unix设计思想,也称linux位类unix系统. Linux常用命令 1.命令基本格式 命令[选项][参数] 注意:个别命令不 ...

随机推荐

  1. WebAssembly入门笔记[1]:与JavaScript的交互

    前一阵子利用Balazor开发了一个NuGet站点,对WebAssembly进行了初步的了解,觉得挺有意思.在接下来的一系列文章中,我们将通过实例演示的方式介绍WebAssembly的一些基本概念和编 ...

  2. 混沌测试平台 Chaos Mesh

    混沌测试平台 Chaos Mesh Chaos Mesh 是PingCap团队研发的一款用于测试kubernetes环境的工具.通过人为地在集群中注入故障来检测集群对故障的处理以及恢复能力.更详细信息 ...

  3. echarts定义饼状图的指向线内容

    定义饼状图的指向线内容 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  4. elementui表格内容超出显示省略号

    有些时候表格的内容太长了: 但是elementui中的表格,会进行换行处理: 此时表格的高度就会发生变化 这样就不好看,此时就要进行省略号来出来这个问题: el-table是有这个控制属性的::sho ...

  5. 【一个经典BUG】gin框架中,异步协程使用context导致取不到数据

    bug的内容大致如下: func httpHandle(c *gin.Context) { go func(ctx Context){ v := ctx.Value("xxx") ...

  6. Fabric-ca server端与client端交互

    本文介绍Fabric-ca server端和client端的交互过程. 在server端执行Start()命令时,会调用registerHandlers()函数,其作用就是注册处理客户端请求的程序: ...

  7. windowsbat命令大全

    Bat文件的创建及其命令大全 一.bat文件的创建 新建txt文本文件 向文本文件中输入命令 保存并修改文本文件后缀为.bat 双击保存后的bat文件,运行 二.bat命令大全 echo 和 @ @ ...

  8. ChatGPT 火了,一大批开源平替也来了

    ChatGPT 凭一己之力让全球为 AI 沸腾,引发了科技巨头之间的聊天机器人军备竞赛.   众所周知,ChatGPT 的背后技术是 GPT(Generative Pre-trained Transf ...

  9. 【算法】C程序超详细的qsort排序函数解释和模拟

    C程序利用冒泡排序的思想模拟实现qsort排序函数 求个赞求个赞求个赞求个赞 谢谢 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要的动力 看完之 ...

  10. 17.3 给内存映射文件指定基地址--《Windows核心编程》

    可以使用 MapViewOfFileEx 函数,建议系统把文件映射到指定的地址. 其他参数与 MapViewOfFile 相同,最后一个参数 pvBaseeAddress 指定目标地址.同 Virtu ...