first commit

This commit is contained in:
momen
2021-10-21 14:57:58 +08:00
parent ba65bf40aa
commit 8184931095
572 changed files with 3165246 additions and 305 deletions

View File

@@ -0,0 +1,9 @@
# 7.1 开机画面卡死卡桌面或者黑屏
grub引导菜单界面按e进入编辑模式MBR磁盘按Tab键修改“splash quiet”所在行在quiet之后添加`nouveau.modeset=0``nomodeset``nouveau.modeset=0 acpi_osi=! acpi="windows 2009"``nomodeset acpi_osi=! acpi="windows 2009"`
注意添加上述参数时前后留空格。按下F10应用新参数启动。
acpi="windows 2009"原理据说是因为有些老旧的BIOS无法识别高版本的Linux内核所grub加上这个参数就可以欺骗BIOS让它以为系统是windows7然后就可以正常启动了。
如果还无法成功可以尝试以下参数彻底禁掉nouveau开源驱动
`rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1`
如果安装完成后相同参数引导卡LOGO则可以尝试Ctrl+Alt+F2进入tty2终端安装显卡驱动。
如果无法进入tty2请使用内核参数` systemd.unit=multi-user.target `进 shell之后参考“硬件与驱动”章节在终端安装显卡驱动
内核参数https://wiki.archlinux.org/index.php/Kernel_parameters

View File

@@ -0,0 +1,9 @@
# 7.10 禁止 GRUB 检测其它系统
当配合第三方引导程序例如Clover时由于第三方引导界面已经展示了各系统的入口所以GRUB中没必要再保留其它系统入口了。
`sudo apt purge os-prober`
`sudo rm -r /var/lib/os-prober/`
`sudo update-grub`

View File

@@ -0,0 +1,11 @@
# 7.11 屏蔽开关机屏幕日志
`sudo nano /etc/default/grub`
添加loglevel=2内核启动参数例如`GRUB_CMDLINE_LINUX="loglevel=2"`
更新sudo update-grub
该参数只是设置在屏幕上打印的内核日志级别,并不影响内核日志的记录。可用如下命令查看:`dmesg --level 3`
详见:`dmesg --help`

View File

@@ -0,0 +1,11 @@
# 7.12 开机关机巨大 LOGO
安装Nvidia专有驱动后很有可能会导致开机时GRUB无法获取正确的分辨率。
`sudo nano /etc/default/grub
添加:`GRUB_GFXPAYLOAD_LINUX=keep`
更新:`sudo update-grub`如果GRUB2
菜单分辨率仍然不正确可尝试升级GRUB。

View File

@@ -0,0 +1,11 @@
# 7.13 修正启动或关机界面分辨率
安装显卡专有驱动后很有可能会出现开机时无法读取正确的分辨率从而导致的巨大开机LOGO。解决办法
`sudo nano /etc/default/grub`
设置正确分辨率:
`GRUB_GFXMODE=1920x1080GRUB_GFXPAYLOAD_LINUX=keep`
更新:`sudo update-grub`

View File

@@ -0,0 +1,5 @@
# 7.14 Ventoy 制作多系统启动
Ventoy可以实现在一个U盘上引导所有主流Linux系统、Windows系统进入安装程序支持部分PE。启动盘制作完成后只需要将系统ISO镜像拷贝到U盘即可支持Lagecy和UEFI两种方式引导。该软件有Windows和Linux两个版本简单易用。
Windows 7系统需要使用在原版镜像基础上集成微软官方USB3.0内核补丁和官方EFI引导程序的修改版https://pan.baidu.com/s/1D0ATxmhsbLtTH92-f9SgaQ 密码: oljr强烈推荐这个国人开发的开源软件http://www.ventoy.net

View File

@@ -0,0 +1,7 @@
# 7.15 Win10 USB 启动盘制作
如果是Win10 LTSC则只需将U盘用GPT分区表格式化成FAT32然后在ISO镜像文件上右键“打开方式”选择“磁盘映像挂载器”。挂载成功后将ISO磁盘内所有文件拷贝到U盘就可以引导安装Win10了。
当然在应用商店安装WoeUSB也可以在图像界面下轻松制作Windows启动U盘。如果是Win10 Business版本由于FAT32格式文件大小4G限制只能用WoeUSB在命令行下制作Win10 USB启动盘
`sudo woeusb --target-filesystem NTFS --device cn_windows_10_business_editions_version_1903.iso /dev/sdb`其中`/dev/sdb`通过`udo fdisk -l`查询得到。注意无论是WoeUSB图形界面还是命令行操作都需要先用“分区编辑器”把U盘卸载。

View File

@@ -0,0 +1,13 @@
# 7.16 安装 Deepin 与 Windows 双系统
情况一如果是MBR传统格式的磁盘「Legacy」先安装的Windows后安装Deepin的话默认一定会出现GRUB引导菜单。
情况二如果是MBR传统格式的磁盘「Legacy」但是先安装的Deepin后安装Windows则需要进LIVE重建GRUB引导。
情况三如果是GPT新格式磁盘「UEFI」先安装的Windows后安装Deepin则需要在BIOS中将Windows Boot Manager用减号将优先级调到最低。
情况四如果是GPT新格式磁盘「UEFI」但是先安装的Deepin后安装Windows则需要安装Windows后进Deepin更新GRUB。
注意一如果UEFI安装Windows7与Deepin双系统则只有启用CSM兼容模式才能启动Win7系统。当启用CSM兼容模式时将无法调整GPT各分区启动的优先级如果后安装Deepin会导致重启直接进入Windows不出现GRUB启动菜单F12中的BIOS启动菜单也只有Windows Boot Manager无法进入Deepin系统。解决办法是先进BIOS关闭CSM然后重启还进入BIOS并设置Deepin所在分区为最高启动优先级保存BIOS设置再次重启进入BIOS并打开CSM兼容模式。第三次重启此时就能看到GRUB引导菜单了。
注意二最省心的双系统安装BIOS设置是“UEFI Only”+“CSM Disabled”+“SecureBoot Disabled”。

View File

@@ -0,0 +1,15 @@
# 7.17 Windows 系统读写 EFI 分区
cmd中运行diskpart 可通过以下命令为EFI分区分配盘符。
查看硬盘:`list disk`
选择硬盘:`select disk 0`
查看分区:`list partition`
选择分区:`select partition 1`
分配盘符:`assign`
右键以管理员身份运行`notepad`,“文件”-“打开”就可以读写EFI分区了。

View File

@@ -0,0 +1,11 @@
# 7.18 双系统修复 Windows EFI
Windows启动盘引导进入安装界面点击“下一步”再点击左下角“修复计算机”。
点击“疑难解答”进入“命令提示符”并根据上一节“Windows系统读写EFI分区”说明挂载EFI分区。执行list volume查查看盘符并记下系统盘符和EFI启动分区盘符。执行exit退出diskpart。
例如我的Windows系统盘符为CEFI启动分区盘符为F则可以这样修复
bcdboot C:\Windows /s F: /f uefi /l zh-cn
可以确认dir F:\EFI能看到Microsoft目录说明成功。

View File

@@ -0,0 +1,5 @@
# 7.19 制作 USB 启动盘
`sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/device`
显示进度:`sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/devicestatus=progress`

View File

@@ -0,0 +1,13 @@
# 7.2 启动后桌面空白,任务栏消失
安装完成后登陆系统发现桌面只能看见壁纸看不到任务栏。此时按下组合键Ctrl+Alt+T应该可以显示终端。
判断当前分辨率是否正确:`xrandr --curent`
如果不正确,可以手动修改:`xrandr -s 1920x1080`
注意1920x1080之间的字母是英文xyz中的小写x而不是乘号。
如仍然无法解决,尝试启动时加内核参数`acpi=off`
如果问题依然无法解决,请参考10.7章节.

View File

@@ -0,0 +1,7 @@
# 7.20 EFI 引导分区不要删除 ubuntu
EFI引导分区下同时存在deepin和ubuntu两个文件夹无论你是否安装了Ubuntu系统。
原因是Ubuntu有硬件厂商的安全认证证书而deepin暂时还没有所以只能依赖Ubuntu的证书来通过grub引导启动了。
删除ubuntu目录将无法启动Deepin修复方法手动创建ubuntu目录并从同级deepin中拷贝grubx64.efi和grub.cfg。

View File

@@ -0,0 +1,7 @@
# 7.21 误删 EFI 分区后的还原
第一步利用Deepin安装盘进入LIVE并修复引导此时`ls /boot/efi/EFI`可以看到已经生成deepin目录但还无法引导系统。
第二步:`sudo cp -r /boot/efi/EFI/deepin /boot/efi/EFI/ubuntu`
该指令的可靠性可以`apt download grub-efi-amd64-signed`后解压证实。

View File

@@ -0,0 +1,9 @@
# 7.22 恢复 Deepin 引导主题
UEFI启动方式如果先安装Deepin后安装Ubuntu形成双系统时即使在Deepin系统下执行grub-install也会使用Ubuntu的GRUB引导菜单主题。
原因是Deepin依赖Ubuntu的安全引导。解决办法
`sudo cp /boot/efi/EFI/deepin/grub.cfg /boot/efi/EFI/ubuntu/grub.cfg`
`sudo grub-install`

View File

@@ -0,0 +1,33 @@
# 7.23 命令行查看 EFI 启动项
在终端执行命令efibootmgr
显示:
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0001,0000,0002,0013,0014,0015,0016,0012,0017
Boot0000* deepin
Boot0001* debianBoot
002* uosBoot
0012* UEFI: SanDisk
Boot0013 ubuntu
Boot0014* UEFI OS
Boot0015 ubuntu
Boot0016* UEFI OS
Boot0017* UEFI: SanDisk
BootCurrent标号为2指当前系统为uos*代表有效启动BootOrder代表启动顺序。
更多用法可查询:`efibootmgr --help`

View File

@@ -0,0 +1,5 @@
# 7.24 查看当前 EFI 启动项详情
`efibootmgr -v`
`bootctl`

View File

@@ -0,0 +1,3 @@
# 7.25 删除重复的 EFI 启动
`sudo efibootmgr -D`

View File

@@ -0,0 +1,5 @@
# 7.26 调整 EFI 启动项顺序
`sudo efibootmgr -o X,Y `#指定标号为X的启动项顺序在Y之前
例如:`sudo efibootmgr -o 0002,0001`

View File

@@ -0,0 +1,5 @@
# 7.27 创建 EFI 启动项
默认/dev/sdasudo efibootmgr -c -L test -l "\EFI\uos\grubx64.efi"
指定/dev/sdbsudo efibootmgr -c -L test -l "\EFI\debian\grubx64.efi" -d/dev/sdb

View File

@@ -0,0 +1,3 @@
# 7.28 删除 EFI 启动项
`sudo efibootmgr -B -b 0003`

View File

@@ -0,0 +1,11 @@
# 7.29 查看硬盘分区信息
`sudo parted -l`
`sudo fdisk -l`
`lsblk`
`blkid`
`df -h`

View File

@@ -0,0 +1,5 @@
# 7.3 系统启动分析
显示启动系统过程中用户态和内核态所花的时间:`systemd-analyze`
显示每个启动项所花费的时间明细:`systemd-analyze blame`

View File

@@ -0,0 +1,7 @@
# 7.30 修复黑苹果 Clover 引导
添加引导:`sudo efibootmgr -c -L Clover -l "\EFI\CLOVER\CLOVERX64.efi"`
查看并调整顺序:`efibootmgr -v`
详见“调整EFI启动项顺序”等。

View File

@@ -0,0 +1,9 @@
# 7.31 Live 模式调整磁盘分区大小
进入Live模式后运行启动器“GParted”可以调整磁盘分区大小。
请耐心等待,调整完成后如果无法启动,则还需要修复磁盘文件系统,例如:
`fsck.ext4 /dev/sda3`
其中`/dev/sda3`为ROOT所在分区请根据实际情况酌情修改。

View File

@@ -0,0 +1,13 @@
# 7.32 Live 模式防锁屏后无法登陆
Debian的Live系统用户密码是live但Deepin Live User密码却好像是随机的字符。
通过命令users可以查到用户名为deepin但密码不是deepin也不是live。
通过Deepin安装盘进入Live系统后如果要长时间操作例如调整磁盘分区则可能会在15分钟后自动锁屏这时就没有办法进入DDE桌面了。
解决方法Ctrl+Alt+F2进入tty2执行sudo su拿到管理员权限后修改用户密码passwd deepin
密码修改完成后Ctrl+Alt+F1切换到登陆界面输入刚才修改的密码登陆。
要防止这种情况出现的办法:“控制中心”-“账户”选择“无密码登陆”;“电源管理”取消“唤醒显示器时需要密码”和“待机恢复时需要密码”。

View File

@@ -0,0 +1,5 @@
# 7.33 解决多系统启动缓慢
多Linux系统如果共用同一个swap交换空间因为在安装新的Linux系统时会自动格式化swap交换空间导致其uuid发生变化与之前安装的Linux系统/etc/fstab自动挂载表中记录的swap uuid不一致所以导致启动长时间寻找swap分区。用systemd-analyze命令查看会发现userspace使用了大量时间。
解决方法:修改/etc/fstab让swap分区与新的uuid同步。

View File

@@ -0,0 +1,8 @@
# 7.34 VirtualBox 从 U 盘启动
第一步用lsblk确定U盘设备名称例如`/dev/sdc`
第二步为其它用户添加U盘读写权限`sudo chmod o+rw /dev/sdc`
3第三步创建U盘虚拟磁盘文件`VBoxManage internalcommands createrawvmdk -
rawdisk /dev/sdc -filename ~/UDISK.vmdk`
第四步,创建虚拟机后,设备-存储“控制器”右键添加硬盘并注册刚才创建的U盘虚拟磁盘
第五步启动虚拟机F12键选择第2硬盘启动。

View File

@@ -0,0 +1,13 @@
# 7.35.1 rEFInd 简介与安装
rEFInd适用Linux、Windows和macOS多系统引导填补GRUB不支持macOS的空白速度快支持主题美化。
官网http://www.rodsbooks.com/refind
下载https://sourceforge.net/projects/refind/files
虽然可以从源里安装:`sudo apt install refind`
但仍然建议从官网下载deb新版安装包手动安装。
后期维护根据需要可以执行:`refind-install `` refind-mkdefault`

View File

@@ -0,0 +1,14 @@
# 7.35.2 rEFInd 多系统配置
scanfor manual internal #搜索手动配置和内置硬盘
dont_scan_volumes "Deepin","Home","Data","Debian","Ubuntu","Arch","Neon
","UOS" #不要在这些分区上搜索,提高启动速度
dont_scan_dirs EFI/boot #不搜索这个目录避免创建fallback引导基于BOOTX64.
efi,也可以忽略BOOTX64.efi
dont_scan_files fbx64.efi,grubx64.efi,mmx64.efi,shimx64.efi #忽略这些文件
可以避免进入GRUB二级目录
#scan_all_linux_kernels false #不搜索没有.efi后缀名的内核
resolution 1920 1080 #分辨率
big_icon_size 128 #限制最大图标尺寸
icons_dir images #自定义图标
hideui banner #可消除闪烁

View File

@@ -0,0 +1,22 @@
# 7.35.3 手动编写 Linux 引导
```bash
menuentry "Deepin 20" {
volume Deepin
loader /vmlinuz
initrd /initrd.img
options "root=UUID=0affb267-fcaa-44b9-b08f-2341f56572d5 ro quiet"
submenuentry "Boot using fallback" {
loader /vmlinuz.old
initrd /initrd.img.old
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
}
```

View File

@@ -0,0 +1,5 @@
# 7.35.4 EFI 支持 xfs 磁盘格式
1 http://www.rodsbooks.com/refind/drivers.html
2 http://efi.akeo.ie/
3 实践发现,/boot分区使用xfs时refind引导非常慢建议改用ext4。

View File

@@ -0,0 +1,9 @@
# 7.35.5 rEFInd 添加主题
1 主题下载https://github.com/topics/refind-theme
2 以rEFInd-minimal为例下载或克隆后解压到/boot/efi/EFI/refind/themes/
rEFInd-minimal/
3 在/boot/efi/EFI/refind/refind.conf最后添加include themes/rEFInd-minimal
/theme.conf

View File

@@ -0,0 +1,2 @@
# 7.35 rEFInd 多系统引导

View File

@@ -0,0 +1,7 @@
# 7.4 检查启动失败服务
安装新内核后可能出现systemd-modules-load.service加载失败导致启动延时原因是深度开发的warm-sched延时加载功能的依赖驱动mincores在升级内核时编译失败。
可以用该命令检查启动失败的服务:
`sudo systemctl --failed`

View File

@@ -0,0 +1,17 @@
# 7.5 查看开机日志
格首先使用`systemd-analyze``systemd-analyze blame`命令,对开机有个大致评估。
然后查看详细的启动日志:
`sudo journalctl /usr/lib/systemd/systemd -b`
`sudo journalctl /usr/lib/deepin-daemon/dde-session-daemon -b`
最后查看启动过程中内核与硬件相关信息:
查看错误级别日志:`sudo dmesg --level err`
查看警告级别日志:`sudo dmesg --level warn`
更多级别或用法:`dmesg --help`

View File

@@ -0,0 +1,10 @@
# 7.6 了解用户登陆情况
格显示当前在本地系统上的所有用户的信息:
`who` 以及` whoami`
列出目前与过去登入系统的用户相关信息:
`last` 以及` lastlog`

View File

@@ -0,0 +1,7 @@
# 7.7 利用系统安装盘进 Live 模式
格插入烧录了Deepin系统的启动U盘在启动菜单第一项“Install Deepin”高亮时按 e 进入引导参数编辑状态。
将引导参数中的“livecd-installer”删除F10启动即可进入Live桌面。
注意由于没有闭源显卡驱动支持进Live桌面后请仅限于系统维护、资料备份或GRUB引导修复。要想体验优秀的DDE桌面环境请实机安装。

View File

@@ -0,0 +1,25 @@
# 7.8 Live 模式修复 GRUB 引导
格进入Live模式后打开终端或者安装盘进入安装界面时Ctrl+Alt+F2进入tty2先执行“lsblk -f”找到系统安装分区sdaX按顺序执行
`mount /dev/sdaX /mnt`
`mount /dev/sdaY /mnt/boot/efi`
`mount --bind /dev /mnt/dev`
`mount --bind /proc /mnt/proc`
`mount --bind /sys /mnt/sys`
`chroot /mnt`
`grub-install /dev/sda`
`update-grub`
`exit`
sdaY为efi分区MBR磁盘可忽略此步骤。重要不同硬盘请酌情替换sda及X/Y。
注意UEFI启动方式由于存在EFI分区可以直接执行`grub-install`

View File

@@ -0,0 +1,13 @@
# 7.9.1 设置默认系统为用户选择
格如果安装多系统,我们会有重启或开机时仍然进入上一次我们所选定系统的需求。
`sudo nano /etc/default/grub`
添加:
`GRUB_DEFAULT=saved`
`GRUB_SAVEDEFAULT=true`
更新:`sudo update-grub`

View File

@@ -0,0 +1,3 @@
# 7.9.2 隐藏启动菜单
`sudo nano /etc/default/grub`添加:`GRUB_HIDDEN_TIMEOUT=1GRUB_HIDDEN_TIMEOUT_QUIET=true`修改:`GRUB_TIMEOUT=0`更新:`sudo update-grub`长按Shift可以显示被隐藏的GRUB启动菜单如果无效可以开机长按ESC进入`grub`命令行后输入`normal`回车然后再次按下ESC。

View File

@@ -0,0 +1,2 @@
# 7.9 GRUB 维护技巧

View File

@@ -0,0 +1,2 @@
# 第七章 deepin 启动与多系统