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. postman中js脚本简单用法

    1.获取接口相应结果 var jsonData = pm.response.json() 2.设置环境变量 pm.environment.set("variable_key", & ...

  2. elementui中自定义Select选择器样式自定义

    <el-select class="my-el-select" v-model="tenantCont" placeholder="请输入机构标 ...

  3. windows加壳程序WinLicense与Themida

    反调试提示 开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框. WinLicense A monitor program has been found ru ...

  4. 【JVM】JDK7后intern方法总结

    JDK6及之前字符串常量池是放在永久代的,这里不讨论,JDK7之后将字符串常量池迁移到了JVM的堆中,注意删除永久代更换为元空间是JDK8哈. 测试代码1如下: @Test public void t ...

  5. 5.1 C/C++ 使用文件与指针

    C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...

  6. PostFix+Dovecot 部署邮件系统

    Postfix 是一种电子邮件服务器是一个开放源代码的软件. Postfix 是MTA邮件传输代理软件.是sendmail提供替代品的一个尝试,在Internet世界中,大部分的电子邮件都是通过sen ...

  7. 开发必备,开源 or 免费的 AI 编程助手

    AI 大模型的火热,让开发圈近来如虎添翼,各种各样基于 AI 技术的开发者工具和新范式不断涌现,尤其是 Github 和 OpenAI 共同推出的 Copilot X ,更是一骑绝尘.本文推荐一些开源 ...

  8. 一篇带你掌握cmake入门|了解cmake|掌握cmake基本操作

    一篇带你掌握cmake入门 内容出处: 作者: 苏丙榅 链接: https://subingwen.cn/cmake/CMake-primer/ 来源: 爱编程的大丙 著作权归作者所有.商业转载请联系 ...

  9. Git企业开发控制理论和实操-从入门到深入(三)|分支管理

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...

  10. shell 两个数组比较,得到元素的并集、交集等

    linux shell 实现数组比较,取元素的并集.交集时,可以使用sort排序.uniq统计和awk数据过滤. shell 实现如下 file_list_1=("test1" & ...