zoukankan      html  css  js  c++  java
  • 笔记本linux问题记录

    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)
  • 相关阅读:
    atitit.插件体系设计总结o73.doc
    Atitit.可视化编程jbpm6 的环境and 使用总结...
    atitit.团队建设总结o6o fix
    atitit.团队建设总结fx O622
    atitit.客户端连接oracle数据库的方式总结
    atitit.提升2--3倍开发效率--cbb体系的建设..
    atitit.微信项目开发效率慢的一些总结
    atitit.为什么java体系开发效率这样低的原因and解决
    atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网
    atitit.技术选型方法总结为什么java就是比.net有前途
  • 原文地址:https://www.cnblogs.com/mind-water/p/11870604.html
Copyright © 2011-2022 走看看