将Ubuntu Server 22.04的GRUB默认启动项改为Windows

存档预览:### 一、修改GRUB默认启动Windows 1. 查看当前启动项 在终端执行以下命令查看所有启动项及其顺序: ```bash sudo grep -i “men…(全文以下方原始文本完整保留)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
### **一、修改GRUB默认启动Windows**
1. **查看当前启动项**
在终端执行以下命令查看所有启动项及其顺序:
```bash
sudo grep -i "menuentry" /boot/grub/grub.cfg
```
输出类似:
```
menuentry 'Ubuntu' --class ubuntu ...
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows ...
```

2. **确认Windows的启动项序号**
GRUB启动项从`0`开始计数。例如,若Windows是第二个条目,则序号为`1`。

3. **修改GRUB配置**
编辑GRUB配置文件:
```bash
sudo nano /etc/default/grub
```
修改以下两行:
```ini
GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)" # 或用序号,如 `1`
GRUB_SAVEDEFAULT=false # 禁止覆盖默认项
```

4. **更新GRUB**
保存文件后运行:
```bash
sudo update-grub
```

5. **验证**
重启后GRUB应默认选中Windows。

---

### **二、GRUB命令行的用途**
GRUB命令行(按`c`键进入)可用于以下操作:
1. **手动启动系统**
```grub
ls # 列出所有磁盘分区,如 (hd0,gpt1)
set root=(hd0,gpt1) # 设置根分区
chainloader /EFI/Microsoft/Boot/bootmgfw.efi # 加载Windows引导程序
boot # 启动
```
2. **修复引导问题**
- 加载内核或initramfs:
```grub
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
boot
```
- 查看文件系统:
```grub
ls (hd0,gpt1)/
```

3. **临时修改启动参数**
在GRUB菜单选中条目后按`e`,可临时编辑内核参数(如`nomodeset`解决显卡问题)。

4. **重置密码**
通过编辑启动参数加入`init=/bin/bash`进入单用户模式。

---

### **注意事项**
- 如果Windows未出现在GRUB中,可能是未安装`os-prober`。运行:
```bash
sudo apt install os-prober
sudo update-grub
```
- 双系统时间冲突问题:在Windows中启用UTC(或Ubuntu中禁用UTC)。

通过以上步骤,您可以将默认启动项改为Windows,并掌握GRUB命令行的基础操作。