【Linux install】Ubuntu和win双系统安装及可能遇到的所有问题

文章目录


1.前期准备

1.1 制作启动盘

先下载一下Ubuntu系统映像。官网下载得比较慢,可以去其他镜像源网站下载比如清华源。下载好的镜像是iso后缀。

随便准备一个硬盘(U盘),不需要用太好的硬盘,而且制作启动盘之后硬盘里面所有的内容都会销毁。然后用一些硬盘制作工具烧录进去即可。这里推荐rufus。下面演示一下操作:

选择好映像文件之后什么都不用动 ,一路确定之后就是等待烧录完成。由于rufus不会自动弹出烧录完成的弹窗,有的小白可能不知道烧录完成了,这里我们只要等状态进度条跑满就好了

1.2关闭快速启动、安全启动、bitlocker

1.2.1 原因

  • 在安装时,我们要进入的是启动盘。如果不关闭快速启动,计算机就会快速地加载Windows系统,进不去启动盘。
  • 如果不关闭安全启动,计算机可能会拒绝加载不受信任的外部设备,从而无法进入启动盘。
  • 如果不关闭bitlocker,外部设盘就无法对硬盘进行写入,也就无法安装。这个关闭比较容易,请自行查阅资料,此处就不具体讲解了。

1.2.2 进入BIOS

进入主板的BIOS界面可以关闭。BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。BIOS是个人电脑启动时加载的第一个软件,是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

这里列举几种进入BIOS界面的方法。

shell命令行进入BIOS

首先查询一下shutdown.exe指令的用法

powershell 复制代码
PS C:\Users\Xu Han> shutdown.exe
用法: C:\Windows\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    没有参数   显示帮助。这与键入 /? 是一样的。
    /?         显示帮助。这与不键入任何选项是一样的。
    /i         显示图形用户界面(GUI)。
               这必须是第一个选项。
    /l         注销。这不能与 /m 或 /d 选项一起使用。
    /s         关闭计算机。
    /sg        关闭计算机。在下一次启动时,如果启用了
               自动重启登录,则将自动登录并锁定上次交互用户。
               登录后,重启任何已注册的应用程序。
    /r         完全关闭并重启计算机。
    /g         完全关闭并重启计算机。重新启动系统后,
               如果启用了自动重启登录,则将自动登录并
               锁定上次交互用户。
               登录后,重启任何已注册的应用程序。
    /a         中止系统关闭。
               这只能在超时期间使用。
               与 /fw 结合使用,以清除任何未完成的至固件的引导。
    /p         关闭本地计算机,没有超时或警告。
               可以与 /d 和 /f 选项一起使用。
    /h         休眠本地计算机。
               可以与 /f 选项一起使用。
    /hybrid    执行计算机关闭并进行准备以快速启动。
               必须与 /s 选项一起使用。
    /fw        与关闭选项结合使用,使下次启动转到
               固件用户界面。
    /e         记录计算机意外关闭的原因。
    /o         转到高级启动选项菜单并重新启动计算机。
               必须与 /r 选项一起使用。
    /m \\computer 指定目标计算机。
    /t xxx     将关闭前的超时时间设置为 xxx 秒。
               有效范围是 0-315360000 (10 年),默认值为 30。
               如果超时期限大于 0,则 /f 参数为
               /f 参数。
    /c "comment" 注释重启或关闭的原因。
               最多允许 512 个字符。
    /f         强制关闭正在运行的应用程序而不事先警告用户。
               当大于 0 的值为
 时,隐含 /f 参数               则默示为 /f 参数。
    /d [p|u:]xx:yy  提供重新启动或关闭的原因。
               p 指示重启或关闭是计划内的。
               u 指示原因是用户定义的。
               如果未指定 p 和 u,则
重新启动或关闭               是计划外的。
               xx 是主要原因编号(小于 256 的正整数)。
               yy 是次要原因编号(小于 65536 的正整数)。

此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别    主要    次要    标题

 U      0       0       其他(计划外)
E       0       0       其他(计划外)
E P     0       0       其他(计划内)
 U      0       5       其他故障: 系统没有反应
E       1       1       硬件: 维护(计划外)
E P     1       1       硬件: 维护(计划内)
E       1       2       硬件: 安装(计划外)
E P     1       2       硬件: 安装(计划内)
E       2       2       操作系统: 恢复(计划外)
E P     2       2       操作系统: 恢复(计划内)
  P     2       3       操作系统: 升级(计划内)
E       2       4       操作系统: 重新配置(计划外)
E P     2       4       操作系统: 重新配置(计划内)
  P     2       16      操作系统: Service Pack (计划内)
        2       17      操作系统: 热修补(计划外)
  P     2       17      操作系统: 热修补(计划内)
        2       18      操作系统: 安全修补(计划外)
  P     2       18      操作系统: 安全修补(计划内)
E       4       1       应用程序: 维护(计划外)
E P     4       1       应用程序: 维护(计划内)
E P     4       2       应用程序: 安装(计划内)
E       4       5       应用程序: 没有反应
E       4       6       应用程序: 不稳定
 U      5       15      系统故障: 停止错误
 U      5       19      安全问题(计划外)
E       5       19      安全问题(计划外)
E P     5       19      安全问题(计划内)
E       5       20      网络连接丢失(计划外)
 U      6       11      电源故障: 电线被拔掉
 U      6       12      电源故障: 环境
  P     7       0       旧版 API 关机

然后我们就知道用如下命令就可以高级启动

powershell 复制代码
shutdown.exe -o -r -t 0

通过高级启动,然后选择疑难解答-高级选项-UEFI固件设置,就可以进入BIOS了

windows设置中高级启动

如图,高级启动后同上。

在开机时狂按某个键进入BIOS

这个按键根据机型有所不同,可以自行查阅,以下是一些常用的:

机型 方式
华硕Asus、神舟Hasee、小米、海尔、明基、技嘉、方正、清华同方、雷神、未来人类、外星人 启动时按F2
戴尔dell 启动和重新启动时按F2
微星msi 启动时按Delete
惠普hp 启动和重新启动时按F2或者F10,或者先按ESC再按F10
ibm/thinkpad 冷开机按F1,部分新型号可以在重新启动时启动按F1,少数机型是Fn+F1或F2

1.2.3 关闭Fast bootSecure boot

这个根据主板BIOS的图形化界面有所不同,但多半都在Boot这一栏目中,以下列举一下华硕的:

1.3 划分磁盘空间

磁盘管理中,划出一块分区用作Ubuntu的空间即可,不需要分配。下图我划出了100GB。

1.3.1 查看目前的虚拟内存大小

等会安装Ubuntu的时候,可能会需要手动分区,需要设置虚拟内存的大小,这里可以先查看win系统下的虚拟内存大小作为参考:

2.开始安装

2.1 使用启动盘启动

2.1.1 法一:BIOS调整启动顺序

关机进入BIOS,在Boot那一栏选择启动顺序,找到你的启动盘的名字,调整到最优先即可。

2.1.2 法二:使用windows高级启动直接进入启动盘

高级启动后,点击使用设备即可。

2.2 语言

语言方面,对于自己英语有信心的可以选择英语。

2.3 联网

暂时先不要联网,不然等会会自动下载,安装会很慢。

选择最小安装或者正常安装都是可以的。

2.4 分区

2.4.1 与windows共存

网上很多教程都在极力劝说不要选择第一个选项与windows共存,实际上,Ubuntu会自动检测空白的分区(就是我刚刚分配的100GB),并不会覆盖windows的文件数据。

在下图中,nvme1是我的第二块硬盘,我在windows下使用了nvme1p1分区,而Ubuntu很完美地避开了这一块区域,自动做出了相应的更改。

nvme的意思是我的这块硬盘是nvme固态硬盘。p1的意思是partition 1,即第一分区。

2.4.2 如果要手动分区...

这里建议分三个区:

  1. 划出256MB用于 EFI系统分区,逻辑分区,并设置安装启动引导器的设备为你刚刚设置的EFI系统分区的分区。这里千万不要安装启动引导器的设备你的windows系统的efi启动分区重合,否则你的两个系统都启动不了!
  1. 划出一些空间用于交换空间,逻辑分区,作为虚拟内存使用。分配的大小可以使用在1.3.1中查看的推荐
  1. 其他所有空间都用于默认的Ext4日志文件系统,主分区,挂载点/
  1. 对于其他诸如/usr/home这样的挂载点,是可以不手动选择的 。这样的话,/home/usr这些目录就会自动与/根目录共享一块磁盘的分区,这也是符合Windows用户的文件树方式。
主分区和逻辑分区

这里稍微解释一下主分区和逻辑分区的区别。对于一块硬盘来说,主分区只能有4个。 因此,我们最好把交换空间设置为逻辑分区。

在windows下,文件树是基于硬盘的分区的,windows系统会自动给硬盘的分区分配盘符。下面,我的C盘就是硬盘0的第0分区:

powershell 复制代码
DISKPART> list disk

  磁盘 ###  状态           大小     可用     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  磁盘 0    联机              476 GB  1024 KB        *
  磁盘 1    联机              953 GB  1024 KB

DISKPART> sel disk 0

磁盘 0 现在是所选磁盘。

DISKPART> list partition

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  卷     0     C   这很C          NTFS   磁盘分区         453 GB  正常         启动
  卷     1         RESTORE      NTFS   磁盘分区          22 GB  正常
  卷     2     Z   SYSTEM       FAT32  磁盘分区         260 MB  正常         系统
  卷     3         RECOVERY     NTFS   磁盘分区         750 MB  正常         已隐藏
  卷     4         MYASUS       FAT32  磁盘分区         200 MB  正常         已隐藏
  卷     5     D                NTFS   磁盘分区         953 GB  正常

DISKPART>

而我C盘中的所有的目录,都在磁盘0的分区0之内,不可能在其他分区。

但是在Linux中,同一目录下的两个子目录可以分管磁盘的两个分区 。比方说,/home可以独占磁盘1的第1分区,/usr也可以独占磁盘1的第2分区,但/home/usr都是在根目录/之下的。

3.完全卸载Ubuntu

3.1 删除Ubuntu分区

磁盘管理中,Ubuntu作为系统分区,是无法直接在图形化界面中操作的,如图中的win分区一样:

因此需要使用diskpart工具去删除之前建立的分区:

管理员权限打开shell,列出所有磁盘(如果您有多个磁盘的话)并选中存放了Ubuntu的磁盘,然后,列出所有卷并逐一选中Ubuntu的分区删除。

powershell 复制代码
DISKPART> list disk  //列出所有磁盘
DISKPART> sel disk 1  //选中目标磁盘
DISKPART> list partition  //列出磁盘所有分区
DISKPART> sel partition2  //选中目标分区
DISKPART> delete partition override  //删除目标分区

然后就可以在磁盘管理中直接合并了,刚刚划出的100GB又回来了!

3.2 删除Ubuntu残余的efi引导(切记)

如果你忘记了删除Ubuntu残余的efi引导就关机,那么可以直接跳到此处了,你的windows系统已经进不去了!

管理员权限打开shell,找到并选中SYSTEM分区,分配卷标,然后删除Ubuntu

powershell 复制代码
PS C:\Users\Xu Han> diskpart.exe

Microsoft DiskPart 版本 10.0.22621.1

Copyright (C) Microsoft Corporation.
在计算机上: LAPTOP-3V5JAOO8

DISKPART> sel disk 0

磁盘 0 现在是所选磁盘。

DISKPART> list vol

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  卷     0     C   这很C          NTFS   磁盘分区         453 GB  正常         启动
  卷     1         RESTORE      NTFS   磁盘分区          22 GB  正常
  卷     2         SYSTEM       FAT32  磁盘分区         260 MB  正常         系统
  卷     3         RECOVERY     NTFS   磁盘分区         750 MB  正常         已隐藏
  卷     4         MYASUS       FAT32  磁盘分区         200 MB  正常         已隐藏
  卷     5     D                NTFS   磁盘分区         853 GB  正常


DISKPART> sel vol 2

卷 2 是所选卷。

DISKPART> assign letter=Z

DiskPart 成功地分配了驱动器号或装载点。

分配完卷标后,再次用管理员权限打开shell,然后进入刚刚我们分配的卷标,删除即可:

powershell 复制代码
PS C:\Users\Xu Han> cd Z:
PS Z:\> ls


    目录: Z:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/1/18     22:59                EFI


PS Z:\> cd .\EFI
PS Z:\EFI> ls


    目录: Z:\EFI


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2022/6/10     23:32                Microsoft
d-----         2024/1/18     22:59                Boot
d-----         2024/1/18     22:59                ubuntu


PS Z:\EFI> rmdir .\ubuntu\

确认
Z:\EFI\ubuntu\ 处的项具有子项,并且未指定 Recurse 参数。如果继续,所有子项均将随该项删除。是否确实要继续?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为"Y"): Y

这里千万别删错了,要是把Microsoft删了,win系统就无法启动了!

4.基础环境配置

4.1 换源以及更新

如果不进行换源,使用apt下载的速度将变得令人难以忍受的慢

目前,换源完全只需要鼠标点点点就可以完成了,打开应用列表里的Software & Updates,选择中国的镜像源即可,我这里选的mirror.nju.edu.cn是南京大学的。

换好源之后输入以下两个指令去更新和升级:

powershell 复制代码
sudo apt update
sudo apt upgrade

4.2 deb类应用安装

使用dpkg命令即可。qq,网盘在官网下载的都是deb类文件。下面以qq为例子,官网下载好文件,终端输入指令即可,别忘记加上--install或者-i

4.3 软件包管理

修复依赖关系(经常用到)

shell 复制代码
sudo apt -f install

查看安装历史

  • /var/log/apt/history.log保存apt安装的历史记录。
  • /var/log/dpkg.log保存dpkg安装的历史记录。

关键字查找软件包

shell 复制代码
sudo apt list | grep -i <keyword>

卸载

  • 仅卸载
shell 复制代码
sudo apt remove <name of software>

以卸载qq为例:

shell 复制代码
sudo apt remove linuxqq
  • 卸载并删除配置文件
shell 复制代码
sudo apt purge <name of software>

清理

  • 自动删除不再需要的软件包
shell 复制代码
sudo apt autoclean
  • 删除已经安装过的软件包
shell 复制代码
sudo apt clean
  • 自动删除不再需要的依赖
shell 复制代码
sudo apt autoremove
相关推荐
不知 不知27 分钟前
最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
linux·运维·服务器·centos
BUG 40434 分钟前
Linux--运维
linux·运维·服务器
千航@abc41 分钟前
vim在末行模式下的删除功能
linux·编辑器·vim
hunter2062061 小时前
ubuntu调用图形化网络测试工具
网络·测试工具·ubuntu
MXsoft6181 小时前
华为E9000刀箱服务器监控指标解读
大数据·运维
贾贾20231 小时前
配电网的自动化和智能化水平介绍
运维·笔记·科技·自动化·能源·制造·智能硬件
发光小北2 小时前
关于六通道串口服务器详细讲解
运维·硬件工程
jcrose25802 小时前
Ubuntu二进制部署K8S 1.29.2
linux·ubuntu·kubernetes
爱辉弟啦2 小时前
Windows FileZila Server共享电脑文件夹 映射21端口外网连接
linux·windows·mac·共享电脑文件夹
ICT系统集成阿祥2 小时前
科普篇 | “机架、塔式、刀片”三类服务器对比
运维·服务器