双系统安装

前言

笔者由于学习原因需要使用Ubuntu系统编译源码,但是服务器使用的系统是Debian,且使用docker编译内存不足.且考虑到后续修改和性能原因不希望使用虚拟机,于是决定安装双系统(Win11+Ubuntu22.04),本文记录一下安装过程

配置双系统

Ubuntu 双系统安装流程

Windows10安装ubuntu22.04双系统教程

  1. 开始之前

由于开始安装双系统之后就离开了Windows,所以如果需要对照文档你还需要另一台设备. 由于本博客挂载在 Github 的域名之下,所以请考虑你的另一台设备能否打开这个网址

其次切换系统时 Windows 会进入一个蓝屏白字的状态并且要求进行 BitLocker 恢复密钥以确保系统运行正常

你可以打开如下Microsoft 帐户恢复密钥网址,登录之后就可以查看到你的恢复密钥ID及其对应的恢复密钥了. 建议截图保存,以便后续输入使用

恢复密钥输入时使用的是F1-F10进行输入

以下内容为笔者经验之谈,记录分享. 不过毕竟是涉及到操作系统的切换以及安装,很难保证万无一失,所以如果您的windows系统中真的有及其重要的文件资源请提前备份

1.下载Ubuntu镜像

Ubuntu版本存在多个版本,部分用户偏爱更稳定的老版本,部分用户偏向使用新版本,笔者使用的是当前(2022/11/15)最新的版本Ubuntu22.04,不同版本的安装过程是完全相同的,如果读者更偏好其他版本可以自行选择下载

2.制作U盘启动盘

首先找到一块U盘,制作启动盘会导致U盘内部数据全部清除,如果内部有重要数据请做好备份.

U盘启动盘制作之后可以在还原回到U盘,这一点不必担心

Ubuntu系统大小大约在2-4G,正常市面的U盘容量应该都足够

下载启动盘制作软件 rufus, 软件很小且无需安装,打开之后可以看到如下界面

20221115140746

其中设备选择你的U盘,引导类型选择打开下载的Ubuntu镜像,其他不需要更改,点击开始,确认推荐即可

绿色进度条满之后U盘启动盘就制作好了

3.为Ubuntu的安装腾出磁盘空间

右键我的电脑,选择 管理,找到磁盘管理,可以看到你的磁盘状况

如图为笔者的磁盘状态,其中红色框中的区域为已经安装好的Ubuntu系统的磁盘区域

20221115141134

双系统需要占据一定大小的磁盘空间,你的电脑可能是一整块C盘也可能是已经分区好了,这个没有影响.选择一块较为空闲的磁盘(比如D盘),划分一块空间

这个空间的大小不宜过小,至少也要在40GB以上吧,因为后续的软件安装以及其他库下载都需要占据这一块磁盘.

右键磁盘,压缩卷,根据1GB = 1024MB换算计算应该划分的大小,笔者这里分配了80GB的空间.划分之后的空间变为黑色(未分配)

4.Ubuntu启动安装

插入U盘,重启. 在启动界面 连续多次 按F2或者F12可以进入Bios设置界面

笔者电脑是DELL,使用F2进入的是bios的设置,F12进入的是boot menu,后者才是我们选择U盘启动盘的正确地方,读者可以根据电脑型号自行查找,不外乎这两个

进入界面之后可以看到一个Windows的启动选项,一个U盘型号的启动选项,选择U盘的选项进入

然后就会进入系统选择界面,选择 Install Ubuntu 安装系统

语言环境一定要选择英文 语言环境一定要选择英文 语言环境一定要选择英文,重要的话说三遍. 我们可以后续安装中文拼音输入法,也可以使用各种翻译软件工具辅助,但是一定要选择英文环境安装,不然后续出现一些字符编码问题,路径问题都是极其头痛的,切记!!!

可以先不联网,后续联网配置VPN代理一并搞定.

安装方式选择 Normal Installation 即可. Other option 什么也不勾选

安装类型(Installation type)选择 Something else,因为需要自定义划分磁盘空间

接下来进入一个磁盘空间的页面,找到之前划分的那一块未分配的空间(free space),我们将会对这一块空间进行再划分

选中区域,点击左下角加号

以下所有的都是空间起始位置(Beginning of this space),不需要修改

  • 200MB Logical EFI,用于启动引导

    这里的选择EFI是指切换下面的Ext4 journaling file system,找到EFI

  • 8GB(8096MB) Logical swap area(用于交换区)

    这里我建议有条件的把内存划分的大一些,16GB,32GB.linux内核编译就很占内存,分大一些对于软件和编译来说都比较友好

除此之外你可以利用剩余的空间划分 //home,其中 / 根目录,用于安装系统和软件相当于C盘,可以适当划分大一些

  • 30GB(30720MB) Primary /
  • 剩下的 Primary /home

下面的这一步非常重要 : 在分区界面的下方,选择安装启动项的位置, 这里要选择你刚刚划分的efi分区的编号

efi分区的大小是200MB,有一个是Windows的efi那个不要动! 找到你划分的那个分区的EFI. 目前划分的四个分区是连在一起的,你可以很容易的找到它(200MB),例如下图中的 /dev/nvmeOn1p9

asdq1342

然后选择安装启动引导器的设备,选择这个引导器,现在安装

注意不要用中文环境,使用英文环境!

5.安装完成

接下来就是选地区,用户名密码这都没什么好说的. 等待安装全部完成之后,会提醒你重启,把U盘拔了,点"restart now",如果卡死就强制关机再重启就好,不要慌没有问题的

6.双系统收尾工作

注意,刚刚安装好的双系统不要马上有特别大的动作, 稍微等电脑凉一凉, 风扇不转了再配环境等等, 不然容易死机...

开机引导

双系统的引导菜单是Ubuntu的引导其grub的菜单,所以重启之后排在第一位的是ubuntu系统的启动,第二位通常是ubuntu的高级选项,第三是windows,我们可以根据情况选择.

你可以在开机的时候使用F2进入boot configuration调整windows boot manager的优先级到ubuntu的上面,这样开机默认进入windows了

第一次由Ubuntu安装完毕再进入windows可能会需要输入Bitlock解锁,你可以在如下网址找到你的恢复密钥,不过这是笔者一开始0节处就提到过的内容

如果你不想被反复的bitlock困扰, 可以使用 F2 进入 boot configuration 取消勾选 security

https://account.microsoft.com/devices/recoverykey

如果想要切换默认进入windows,可以修改开机引导grub,但笔者习惯直接进入F2将windows的启动项移到ubuntu前面,这样默认进入的是windows的启动盘

如果需要进入ubuntu就F12然后选择ubuntu启动即可

卸载

如果不想使用ubuntu系统了就删除磁盘空间即可,右键删除卷

20221115141134

不过最开始的efi分区无法被直接删除,需要手动删除一下

进入windows, 使用 win + r 打开运行, 输入 diskpart 进入磁盘管理

  • 输入 list disk 查看磁盘状态
    DISKPART> list disk
    
      磁盘 ###  状态           大小     可用     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      磁盘 0    联机              476 GB    16 MB        *
      磁盘 1    联机              931 GB      0 B

    当然你也有可能不是这样的,笔者的磁盘1是一块移动硬盘

    如果你手动增加了一块硬盘的话也可能是如下的情况,这里我新增了一块1TB的NVM SSD硬盘,并且分配了500GB,剩下453GB没有分配

    DISKPART> list disk
    
    磁盘 ###  状态           大小     可用     Dyn  Gpt
    --------  -------------  -------  -------  ---  ---
    磁盘 0    联机              476 GB    79 GB        *
    磁盘 1    联机              953 GB   453 GB        *
    磁盘 2    联机              931 GB      0 B

    现在的状态是我已经之前分配的80GB空间删除卷,所以磁盘0剩余空间79GB,efi分区暂时没有删除,我想将双系统转移到磁盘1中的未分配的453GB中

  • 输入 select disk 0 选择磁盘0(即主磁盘), 输入 list partition 查看所有分区
    DISKPART> select disk 0
    
    磁盘 0 现在是所选磁盘.
    
    DISKPART> list partition
    
      分区 ###       类型              大小     偏移量
      -------------  ----------------  -------  -------
      分区      1    系统                 200 MB  1024 KB
      分区      2    已保留                128 MB   201 MB
      分区      3    主要                 257 GB   329 MB
      分区      4    主要                  99 GB   257 GB
      分区      5    主要                  19 GB   357 GB
      分区      6    系统                 191 MB   377 GB
      分区      10   未知                7721 MB   377 GB
      分区      11   未知                  28 GB   385 GB
      分区      12   未知                  43 GB   414 GB
      分区      7    恢复                 990 MB   457 GB
      分区      8    恢复                  16 GB   458 GB
      分区      9    恢复                1501 MB   475 GB

    这里可以看到类型中有两个是 系统 类型,其中200MB并且较小偏移量的是windows的引导,不要动! 选择剩下的那个 191MB 的系统分区,这个是我们ubuntu的引导区, 这个分区的编号与上文 4.Ubuntu启动安装 的efi分区是相同的编号,注意不要选错了

    以下情况根据笔者自身情况分析,请读者自行调整为你的分区编号

  • 选择分区6 ,完成删除
    select partition 6
    delete partition override

下面看一下删除之后的效果,可以看到将EFI分区删除之后,未分配的80GB正是之前用来安装Ubuntu设置的空间大小

20230101203444

最后F2进BIOS把ubuntu的引导删掉即可,这样就彻底删除了~

可能遇到的问题

Ubuntu efi删除失败

如果使用 delete partition override 失败,则可使用下面的方式

选择分区6 select partition 6

创建一个新的挂载盘 assign letter=K, 这时候可以看到计算机多出来了一个盘,但是这个盘无法进入

在开始菜单找到记事本,右键【记事本】,选择【以管理员身份运行】,点击【文件】,点击【打开】.在文件浏览器里面可以进入刚刚挂载的K盘,找到名为Ubuntu的文件夹删除即可

删除之后再把刚刚挂载的K盘卸载就行.输入

remove letter=K

Windows Boot Manager 丢失

误删除Windows Boot Manager电脑会进入grub终端

  1. 导入模块
    insmod part_gpt
  1. 查看子目录
    ls

    此时应该会列出一些 hd, gpt, (hd,gpt)的文件

  1. 找到windows的所在目录

    通常来说是(hd0, gpt1), 如果不是的话你可以一个一个试

    set root=(hd0,gpt1)
    chainloader /efi/Microsoft/Boot/bootmgfw.efi

    如果chainloader这一步没有报错,则说明成功. 如果报错了那就换一个

  1. chainloader成功后重启
    boot

    如果一次chainloader就成功了那么没有问题了,如果chainloader失败过几次那么你的引导项会出现好几个Windows,删掉前面的保留最后一个就行, 最后一个是成功的

参考