简介

本文主要内容:
1.在Windows系统的基础上演示再安装Ubuntu系统
2.演示在vmare上运行一个Ubuntu系统的虚拟机
3.介绍Linux的相关知识和常用命令
Linux镜像大全:https://www.linux.org/pages/download/


二.双系统配置Ubuntu


注意:在安装Ubuntu系统前,我们先需要确定当前Windows系统的引导方式
安装的Ubuntu系统需要与当前的Windows系统具有相同的引导方式,才能设置双系统菜单
一些可能陌生的名词在第1点有介绍
演示中的电脑配置:
引导方式为:UEFI引导
磁盘分区格式为GPT
如果你的电脑配置与我不相同,操作下去可能有些不同


1.基础知识介绍

1.1.引导的简介

引导(Booting)是指计算机在开机时进行的一系列过程,其目的是加载操作系统,使计算机能够正常工作。引导过程通常包括以下几个主要步骤:

  1. 硬件初始化

    • 当计算机通电后,首先由固件(BIOS或UEFI)进行硬件自检(POST),确保关键组件(如内存、CPU、硬盘等)正常。
  2. 引导加载程序(Bootloader)

    • 通过固件找到存储设备上的引导加载程序(如GRUB、LILO等),并将控制权转移给它。引导加载程序负责加载操作系统内核。
  3. 操作系统加载

    • 引导加载程序从硬盘或其他存储设备加载操作系统的内核到内存中,并启动操作系统。
  4. 系统初始化

    • 操作系统内核完成初始化,设置硬件驱动程序、文件系统等,为用户和应用程序提供服务。

引导过程是计算机启动的重要环节,成功引导后,用户可以使用计算机进行各种操作。引导的方式可以分为传统的BIOS引导和现代的UEFI引导,选择合适的引导方式可以提高系统的性能和安全性。


1.2.BIOS模式的简介

BIOS模式是指基本输入输出系统(Basic Input/Output System)的一种引导方式,它是在计算机启动时加载和执行的固件。BIOS负责硬件初始化和操作系统的加载。它是早期计算机的引导方式,主要用于x86架构的计算机。

引导方式指的是计算机启动时如何加载操作系统的方式。主要的引导方式有:

  1. BIOS引导

    • 使用MBR(主引导记录)格式。
    • 限制在2TB的磁盘大小,最多支持四个主分区。
  2. UEFI引导

    • 是BIOS的继任者,支持更大的硬盘(超过2TB)。
    • 使用GPT(GUID分区表)格式,支持更多的分区。
    • 提供更快的启动速度和更强的安全性(如Secure Boot)。

1.3.磁盘分区格式的简介

磁盘分区格式是定义磁盘如何组织和管理存储空间的结构。主要有以下几种分区格式:

  1. MBR(主引导记录)

    • 传统分区格式,支持最多四个主分区(或三个主分区和一个扩展分区)。
    • 最大支持2TB的磁盘空间。
    • 使用较旧的BIOS引导。
  2. GPT(GUID分区表)

    • 现代分区格式,支持更大的硬盘(超过2TB)和更多的分区(通常是128个)。
    • 采用UEFI引导,提供更强的安全性和灵活性。
    • 包含冗余的分区表,提高了数据的可靠性。
  3. 动态磁盘

    • Windows系统特有的分区管理方式,可以创建跨多个物理磁盘的卷,支持更复杂的磁盘管理功能,如镜像和条带化。

1.4.BIOS模式与分区格式的对应关系

  1. 传统BIOS模式(Legacy BIOS)

    • 通常使用MBR(主引导记录)分区格式。
    • 在这种模式下,支持最多四个主分区,最大磁盘大小为2TB。
    • 安装操作系统时,若选择Legacy模式,系统会要求将磁盘格式化为MBR。
  2. UEFI模式

    • 通常使用GPT(GUID分区表)分区格式。
    • 支持更大的磁盘(超过2TB)和更多的分区(通常是128个)。
    • 安装操作系统时,若选择UEFI模式,系统会要求将磁盘格式化为GPT。

一般BIOS模式是传统,磁盘分区格式就是MBR
一般BIOS模式是UEFI,磁盘分区格式就是GPT


1.5.ventoy的简介

Ventoy 是一个开源工具,用于创建可启动的 USB 驱动器。与传统的方法不同,Ventoy 允许用户将多个 ISO 文件直接复制到 USB 驱动器上,而无需重新格式化或每次都写入 USB 驱动器。以下是 Ventoy 的一些主要特点:

  1. 多重 ISO 支持:用户可以在同一个 USB 驱动器上存储多个 ISO 文件,并在启动时选择要加载的 ISO。

  2. 快速创建:只需一次性格式化 USB 驱动器并安装 Ventoy,之后可以随意添加、删除或更新 ISO 文件。

  3. 兼容性:Ventoy 支持多种操作系统的 ISO,包括 Linux 发行版、Windows 安装镜像等。

  4. UEFI 和 BIOS 支持:Ventoy 支持 UEFI 和传统 BIOS 启动,确保在不同类型的计算机上都能使用。

  5. 简单易用:用户界面友好,使用简单,无需复杂的命令行操作。

  6. 开源:Ventoy 是开源软件,可以免费使用,并且可以根据需要进行定制。

Ventoy 的使用非常适合需要频繁测试或安装不同操作系统的开发者和系统管理员。


1.6.镜像的简介

镜像(Image)通常是指某个操作系统或软件的完整复制品,通常以文件的形式存在,包含了所有安装文件和配置设置。常见的镜像格式有 ISO 文件,这种文件可以用于创建可启动的 USB 驱动器或光盘。


1.7.BitLocker的简介

BitLocker 是微软 Windows 操作系统中的一个全盘加密功能,用于保护存储在计算机上的数据。以下是 BitLocker 的一些关键特点和功能:

  1. 全盘加密:BitLocker 能够加密整个驱动器,包括系统驱动器和数据驱动器,从而保护存储在其上的所有文件。

  2. 安全性:通过使用 AES(高级加密标准)加密算法,BitLocker 提供强大的数据保护,防止未授权访问。

  3. TPM 支持:BitLocker 可以与计算机的 TPM(受信任的平台模块)芯片结合使用,以增强安全性。TPM 存储加密密钥并提供安全启动功能。

  4. 多种解锁方式:用户可以通过多种方式解锁加密的驱动器,包括密码、PIN 码、USB 密钥和恢复密钥。

  5. 数据恢复:如果用户忘记密码或丢失解锁密钥,可以使用 BitLocker 恢复密钥来访问加密数据。

  6. 管理工具:Windows 提供图形界面和命令行工具(如 manage-bde)来管理 BitLocker 加密。

使用场景:

要启用 BitLocker,通常需要在 Windows 专业版或企业版上使用。在控制面板的“系统和安全”部分,可以找到 BitLocker 的设置选项。


1.8.BIOS界面的Boot的简介

在 BIOS(基本输入输出系统)中,“Boot”指的是计算机启动的过程和相关设置。以下是“Boot”在 BIOS 中的几个关键方面:

1. 启动顺序

2. 引导选项

3. 引导模式

4. 安全启动(Secure Boot)

5. 引导记录

在 BIOS 中,Boot 设置是配置计算机启动过程的关键部分,确保操作系统能够从正确的设备加载。通过调整这些设置,你可以优化系统的启动顺序和引导方式,以适应不同的需求。


1.9.Secure Boot的简介

Secure Boot 可能会影响双系统安装,特别是当你尝试安装的操作系统不支持或未正确签名以通过 Secure Boot 验证时。以下是一些具体情况:

1. 不支持的操作系统

2. 驱动程序和签名

3. UEFI 和 Legacy 模式

4. 需要禁用 Secure Boot


1.10.挂载点的简介

挂载点 是指在操作系统中用于访问文件系统的目录。它是一个特定的目录路径,系统通过这个路径将外部存储设备(如硬盘驱动器、USB 驱动器、网络共享等)连接到操作系统的文件系统中。通过挂载点,用户可以访问和操作存储在这些设备上的文件和目录。

  1. 文件系统结构

    • 在 Linux 和类 Unix 系统中,所有文件和目录都以根目录 / 为基础构成一个统一的文件系统结构。任何外部存储设备都需要被“挂载”到这个结构中,才能被访问。
  2. 挂载过程

    • 当你将设备连接到计算机时,需要通过挂载命令(如 mount)将其挂载到某个目录。例如,你可能将一个 USB 驱动器挂载到 /mnt/usb 目录下,这样就可以通过访问 /mnt/usb 来查看和操作 USB 驱动器中的文件。
  3. 卸载(Unmounting)

    • 当你不再需要访问该设备时,可以通过卸载命令(如 umount)将其从文件系统中移除。这确保了数据的完整性,并释放系统资源。

实际示例:

sudo mount /dev/sdb1 /media/external

之后,你可以通过访问 /media/external 来访问外部硬盘中的文件。

总结:挂载点是访问外部存储设备的关键概念,通过将设备挂载到特定的目录,用户可以在统一的文件系统中管理和操作不同的存储资源。


1.11.根挂载点的简介

在文件系统中,/ 代表根目录(root directory),是整个文件系统的起始点。它是 Linux 和类 Unix 系统中所有文件和目录的顶层目录。下面是根目录的一些重要概念:

  1. 文件系统的基础
  1. 挂载点的含义
  1. 示例

总结:/作为根目录是整个文件系统的起点,所有挂载点都是相对于根目录的路径。通过挂载点,用户可以在统一的文件系统中访问和管理不同的存储设备。


1.12.软件源和镜像服务器的简介

软件源和镜像服务器是 Linux 及其他类 Unix 系统中用于管理和安装软件包的重要概念。 软件源(Software Repository)

软件源是一个集中存储软件包的地方,通常包含了大量可供用户安装和更新的软件。这些软件包会经过审核和测试,以确保它们的安全性和稳定性。软件源的主要功能包括:

镜像服务器(Mirror Server)

镜像服务器是软件源的复制版本,它们通常分布在不同地理位置,以便于用户更快地下载软件包。镜像服务器的特点包括:

总结:软件源和镜像服务器共同为用户提供了方便的软件管理功能。通过合理配置和选择镜像服务器,用户可以高效地安装和更新所需的软件,提高使用体验。


1.13.GParted的简介

GParted(GNOME Partition Editor)是一个用于管理硬盘分区的图形化工具,通常在 Ubuntu 和其他 Linux 发行版中使用。它的主要功能包括:

  1. 创建、删除和调整分区:用户可以轻松创建新的分区、删除不再需要的分区,以及调整现有分区的大小。

  2. 格式化分区:GParted 支持多种文件系统格式,包括 ext4、NTFS、FAT32 等,用户可以对分区进行格式化。

  3. 移动分区:用户可以移动分区位置,以重新组织硬盘上的数据。

  4. 检查和修复分区:GParted 允许用户检查分区的完整性,并修复可能出现的错误。

  5. 支持多种存储设备:GParted 可以管理硬盘驱动器、SSD、USB 驱动器等多种存储设备。

GParted 的用户界面直观友好,适合用户进行硬盘管理,尤其是在进行系统安装、分区调整或数据备份时。使用 GParted 需要一定的权限,因此通常需要以管理员身份运行。


1.14.GRUB的简介

GRUB (Grand Unified Bootloader) 是一款开源的启动引导程序,主要用于在计算机启动时加载操作系统。它常见于 Linux 和其他 Unix 类系统中,但也可以引导 Windows 等操作系统。GRUB 的主要功能是让用户在系统启动时选择加载的操作系统或内核,特别适合多系统或双系统环境,例如 Linux 和 Windows 并存的情况下。

GRUB 的工作流程分为以下几步:

  1. 阶段1:加载启动引导器
    在 BIOS 或 UEFI 完成硬件初始化后,GRUB 的第一阶段代码会被加载。它通常存储在磁盘的主引导记录(MBR)或 UEFI 分区中,负责将控制权传递给 GRUB 阶段2。

  2. 阶段2:加载核心程序
    GRUB 阶段2会显示启动菜单,让用户选择操作系统或特定内核版本。用户也可以通过 GRUB 命令行手动输入内核参数或进行系统修复。

  3. 加载内核并启动操作系统
    一旦选定了内核,GRUB 会将内核和相关的初始 RAM 磁盘 (initramfs) 加载到内存,并将控制权交给操作系统内核以启动系统。

当你安装 Ubuntu 作为双系统时,Ubuntu 会默认安装 GRUB(Grand Unified Bootloader)。GRUB 是一个启动引导程序,它能够检测并列出系统上已安装的所有操作系统,允许你在启动时选择要加载的操作系统。通常在双系统中,GRUB 会被配置为引导菜单的默认管理程序,负责启动 Ubuntu 和 Windows 等系统。

为什么 Ubuntu 的启动优先级比 Windows 高时才能启动 GRUB?

  1. GRUB 安装位置:GRUB 通常安装在硬盘的主引导记录(MBR)或 EFI 分区中。GRUB 负责接管启动过程,因此当 BIOS/UEFI 设置中指定 Ubuntu(或带有 GRUB 的分区)为启动优先级更高时,GRUB 就会运行并显示启动菜单,供你选择启动 Ubuntu 或 Windows。

  2. 启动顺序的影响:如果你在 BIOS/UEFI 设置中将 Windows 的引导项放在优先级更高的位置,系统会直接使用 Windows 自带的启动引导程序,而不是 GRUB。Windows 启动引导程序通常不会列出 Ubuntu,除非进行特别配置(例如使用第三方引导管理器)。因此,只有在 Ubuntu 的启动项优先级高于 Windows 时,GRUB 才会被加载并展示选择菜单,从而引导任意一个操作系统。

简而言之,GRUB 作为默认的引导管理器,只有在它先于 Windows 的启动项被执行时,才能发挥作用并展示操作系统选择菜单。如果优先启动 Windows,则会跳过 GRUB 。 GRUB 具有灵活的配置能力,通过编辑其配置文件(通常位于 /boot/grub/grub.cfg)可以设置默认启动项、超时时间、图形界面等。其支持的文件系统也非常多,如 ext4、NTFS 和 FAT 等,确保了多系统兼容性。

在 GRUB 启动菜单中,序号是从 0 开始的。这意味着菜单中的第一个启动项对应于序号 0,第二个是序号 1,以此类推。这种从 0 开始的计数方式在配置文件中也保持一致,比如当你在 GRUB 配置文件中设置 GRUB_DEFAULT=0 时,它将默认选择第一个启动项。

GRUB 目前有两个主要版本:Legacy GRUB 和 GRUB 2。GRUB 2 是更现代的版本,具有更好的模块化和扩展性,广泛用于主流 Linux 发行版中。


1.15.UEFI HardnDisk Drive BBS Priorities的简介

UEFI Hard Disk Drive BBS Priorities 是主板 BIOS/UEFI 设置中的一项功能,用来配置硬盘的启动优先级。它决定了计算机在启动时,从哪些硬盘或者存储设备中加载操作系统,并按照优先级顺序依次尝试启动。

在这个设置中,你可以:

  1. 设定不同硬盘的启动顺序:如果你有多块硬盘(例如一个固态硬盘和一个机械硬盘),可以在此调整启动的先后顺序。

  2. 影响操作系统加载顺序:计算机会根据设定的优先级,尝试从首选硬盘启动操作系统。如果首选硬盘不可用,会自动切换到下一个硬盘。

这种设置对多系统配置(如 Windows 和 Linux 的双系统)以及多硬盘系统特别重要。


2.查看BIOS模式

使用Win+R打开 “运行”对话框
输入:Msinfo32
可以看到我的BIOS模式UEFI
如果显示是传统,那用的就是BIOS引导
如果显示是UEFI,用的就是UEFI引导


3.查看磁盘分区格式

一般看到BIOS模式是什么就能确定磁盘分区格式了,当然也可以去查看
右键点击开始,然后点击磁盘管理 鼠标右键点击当前Windows系统所在的硬盘,再点击属性
提前说一下:这些C盘D盘右边一般会有一个Bitlocker已加密的显示
我这里没有是因为我已经关掉了,下文会介绍一般需要关掉它 可以看到我这里的磁盘分区格式是GPT


4.安装镜像

Ubuntu镜像:https://ubuntu.com/download/desktop
LTS 是 “Long Term Support” 的简写,意为“长期支持”。LTS 版本的操作系统会获得更长时间的支持和更新,通常是五年,这包括安全更新和软件包更新。


5.制作Ubuntu安装盘

5.1.下载ventoy

ventoy开源项目地址:https://github.com/ventoy/Ventoy
ventoy下载地址:https://sourceforge.net/projects/ventoy/ 解压并打开

5.2.插入U盘

注意:制作成安装盘后,U盘原来的数据都会被清空
设备里选择你的U盘
分区格式(MBR 或 GPT)会影响你在 USB 驱动器上安装系统时,目标磁盘的分区格式
可以看到默认的是MBR,我的Windows系统所在硬盘分区格式是GPT,所以修改一下
如果你的Windows系统所在硬盘分区格式就是MBR,就不用修改
我这里u盘已经安装了ventoy,没安装时设备内部ventoy版本那是空的

5.3.在U盘上安装ventoy

点击左上角配置选项->点击分区类型->选择GPT->安装
安装成功后会弹出恭喜安装成功的窗口,然后U盘名字变为ventoy

5.4.将Ubuntu镜像复制到安装盘

前文下载的8Ubuntu镜像直接复制过来就成功制作了Ubuntu安装盘


6.关闭BitLocker

如果启用了BitLocker,C盘和D盘右边都会显示BitLocker已经启用
如果已经关闭了或没有启用,就跳过这一小点
BitLocker的密码一般在你第一次激活Windows系统的账号里
关闭它比较省事,之后再打开就行

6.1.BitLocker可能触发条件

BitLocker 会在以下情况下要求输入 48 位的恢复密码:

  1. TPM 出现问题

    • 如果计算机的 TPM(受信任的平台模块)在启动过程中未能正常工作,BitLocker 可能无法验证计算机的安全性,从而要求输入恢复密码。
  2. 系统硬件更改

    • 当计算机的硬件组件(如主板、TPM 芯片或启动驱动器)发生更改时,BitLocker 可能会要求输入恢复密码以确保数据的安全性。
  3. BIOS/UEFI 设置更改

    • 如果更改了 BIOS/UEFI 设置,例如禁用了安全启动或重置了 BIOS/UEFI,BitLocker 也可能会要求输入恢复密码。
  4. Windows 更新或修复

    • 在进行某些系统更新或修复操作时,BitLocker 可能会触发恢复模式,要求输入密码。
  5. 启动顺序变化

    • 如果启动顺序更改为尝试从不同的设备启动,BitLocker 可能会要求验证身份。
  6. 未按预期关机

    • 如果计算机在非正常情况下关机(如断电),下次启动时可能会要求输入恢复密码。

在启用 BitLocker 时,系统会生成一个 48 位的恢复密码,并提示用户进行备份,以防在上述情况下无法访问数据。

6.2.关闭BitLocker

在搜索栏中搜索设备加密设置或管理BitLocker 关闭需要一些时间,请耐心等待
成功后可进入磁盘管理器在C盘、D盘就不会显示有BitLocker已加密的字样了


7.为Ubuntu挤出硬盘空间

鼠标右键点击开始,打开磁盘管理 挑选一个分区为Ubuntu系统挤出空间
这里我选择D盘这个分区,然后点击压缩卷 这里输入压缩空间量就是压缩出来空间的大小
我这里就填10240MB
未分配的10GB就是刚才压缩出来的硬盘空间
补充:1G=1024MB
压缩出来的分区应该显示的是未分配


8.进入BIOS界面进行设置

重启电脑,重启过程中点击F2
(怕错过一直点也行,不同品牌的电脑快捷键和BIOS界面可能有所不同)

8.1.关闭Secure Boot

Secure Boot的选项一般在安全里,选择Disabled以关闭

8.2.boot option priorities

这是启动优先级的意思,在Boot里面,一般来说默认启动优先级最高的是U盘
如果不是,需要将U盘设为最优先启动项
退出时记得保存,退出时会提醒你保存,按F10可直接保存


9.进入U盘的Ubuntu系统

首先插入U盘重启电脑,进入ventoy的界面
选择我们安装的Ubuntu镜像,回车 选择第一个以默认Boot启动,回车 选择第一个,试用或安装Ubuntu,回车


10.安装Ubuntu系统到硬盘

1.下滑,选择中文 2.连接网络 3.选择安装Ubuntu 4.选择交互安装 5.选择默认集合 6.推荐选择这两个 7.选择手动分区 8.选择我们之前为安装Ubuntu系统而压缩出来的硬盘空间,并点击+号
注意:这里对文件大小的计算方式不同,我们在Windows压缩出来的10个G在这里显示是10.74G
根据你压缩出来的硬盘空间大概估算一下选择不要选错了!
很容易辨别的是,我们这种压缩出来的空间前面有个剩余空间的标记 9.挂载点选择根挂载点 ,挂载点介绍见上文1.10 简而言之就是这个分区拿来储存Ubuntu系统的所有数据 10.选择用于安装引导程序的设备
你刚才选的在哪个硬盘就选择哪个硬盘 这里的nvme0n1就是指代我的硬盘,上面那个是我们的安装盘 11.进行一些设置 12.选择时区 13.安装 14.安装完成后会提示你重启
会有一个界面让你拔掉U盘,再回车
15.安装完成


11.设置镜像服务器

软件源和镜像服务器介绍见上文1.12 它会自动更新,直接停止,再点击设置就行 先点击下载自右边的链接进入下图的界面,然后点击选择最佳服务器 等待一段时间,他会给你选择一个最佳的服务器,然后我们直接点选择服务器 最后你关闭的时候会更新软件缓存,就大功告成


12.对Ubuntu的硬盘空间进行扩容

要是用久了发现硬盘空间不够用,我们就可以进行扩容

12.1.压缩硬盘空间

多余的分区压缩出来一些硬盘空间
忘了操作的可以返回上文(一.7.为Ubuntu挤出硬盘空间),是一样的操作
我这里压缩了10个G

12.2.进入U盘的Ubuntu系统

和上文(一.9.进入U盘的Ubuntu系统)一样

12.3.选择试用Ubuntu

选择语言为中文,一路到下图这一步就要注意了
一定要选择试用Ubuntu
其实你一进来或选完语言九点右上角的X关闭这个窗口就行
这本来就是运行在U盘的Ubuntu系统

12.4.使用GParted扩容

注意:这期间会弹出一些需要确认的窗口
1.打开终端(快捷键:Ctrl+Alt+G)
2.运行命令以安装和启动GParted

GParted的简介见上文(一.1.13.GParted的简介)

sudo apt install gparted #下载GParted
gparted #打开GParted

3.右键点击我们需要扩容的Ubuntu系统的分区 4.可以在上方拖动进行扩容,也可以点击新大小右边的+进行扩容
5.扩容完成后点击调整大小,然后确认 6.点击绿色的✓应用全部操作完成扩容 7.重启退出,不要提前把U盘拔了,能提示的时候再拔 安装好Ubuntu系统后,原来显示未分配的分区会变为状态良好
原来是97.67GB,可以看到扩容10GB成功了


13.启用GRUB

不同电脑的操作可能不同
关键在于把Ubuntu高的启动优级设置的比Windows系统的高
如果你细心一些,会发现一个问题
有两个操作系统,该怎么选择进入哪一个操作系统?
如果你直接重启,会发现直接进入Windows系统,看不到Ubuntu系统在哪
这时候就需要启用GRUB了
介绍见上文(一.1.14.GRUB的简介)
还是重启电脑进入BIOS设置界面
操作与上文(一.8.进入BIOS设置界面进行设置)相同
1.找到UEFI Hard Disk Drive BBS Priorities
介绍见上文(一.1.15.UEFI HardnDisk Drive BBS Priorities的简介) 将Boot Option 1设置为Ubuntu 2.现在退出,在启动时会进入GRUB的界面
这是完全的界面


14.修改GRUB配置文件

接下来我们要设置默认选择Windows系统,10s倒计时自动进入
这是启动的菜单,你没修改GRUB配置文件时默认进的时Ubuntu
这个菜单的序号是从0开始的,比如第五个Windows的序号是4 这是页尾,可以看到我设计了一个倒计时

14.1.进入Ubuntu系统

1.打开终端(快捷键Ctrl+Alt+t
2.输入命令用nano文本编辑器打开GRUB配置的模板文件
sudo nano /etc/default/grub 设置默认启动的序号启动倒计时
再次强调:序号是从0开始的!
^是指Ctrl键,比如退出就是Ctrl+C

14.2.更新GRUB配置文件

上文修改的是GRUB配置的模板文件,我们还要更新到实际的GRUB配置文件
使用命令更新到实际的GRUB配置文件:
sudo update-grub

14.3.配置成功

现在重启就能进入GRUB界面,可以选择进入Ubuntu系统,也可以倒计时结束默认进入Windows系统


三.虚拟机中安装Ubuntu


1.虚拟机基础知识介绍

1.1.内存

虚拟机(VM)的内存作用与物理计算机中的内存类似,用于存储操作系统、应用程序以及正在运行的进程的临时数据。虚拟机的内存主要用于以下几个方面:

  1. 操作系统和应用程序的运行:虚拟机的内存会分配给操作系统和应用程序,以确保它们能够正常运行。操作系统使用这部分内存来管理进程和任务,应用程序则使用它来存储当前运行的数据和变量。

  2. 进程管理:每个正在运行的进程都会占用一部分虚拟内存空间。操作系统通过调度算法将这些进程管理在内存中,使其能够快速响应用户操作。

  3. 虚拟内存技术:虚拟机也使用虚拟内存技术,将物理内存与硬盘上的交换空间(或页面文件)结合使用。这使得虚拟机可以处理比分配给它的物理内存更多的数据。

  4. 缓存和缓冲区:虚拟机会将常用的数据存储在内存中,以减少对磁盘的访问,提高性能。例如,文件系统的缓存、数据库的查询结果等都会被存放在内存中,以提高数据读取的速度。

  5. 共享内存:在一些情况下,虚拟机可能需要与宿主机或其他虚拟机进行通信,内存也可以用于共享数据,尤其是通过共享内存机制来实现高效的数据交换。

总之,虚拟机的内存决定了它可以运行多么复杂的操作系统和应用程序,内存越大,虚拟机的性能通常也越好,尤其是当同时运行多个任务时。


1.2.处理器数量和每个处理器的内核数量

虚拟机(VM)的处理器数量和每个处理器的内核数量是决定其计算性能的重要参数,它们直接影响虚拟机的并发处理能力和整体性能表现。以下是处理器数量和内核数量的具体作用:

1. 处理器数量(vCPU数量)

虚拟机的“处理器”通常指虚拟中央处理单元(vCPU),它是由宿主机的物理CPU资源虚拟化后分配给虚拟机的计算单元。vCPU的数量表示虚拟机可以利用多少个并行计算资源。vCPU数量越多,虚拟机能同时处理更多的并发任务。

2. 每个处理器的内核数量

处理器的“内核”指的是每个vCPU中的物理或虚拟处理单元。一个多核处理器可以在同一时间执行多个独立的计算任务,核心数量决定了vCPU的内部并行处理能力。

3. vCPU数量和内核数量的关系

虚拟机的vCPU数量和每个vCPU的内核数量往往一起决定了虚拟机的计算能力。一般来说:

4. 实际应用场景

5. 资源分配与权衡

在配置虚拟机时,需要在性能需求与资源分配之间做平衡。虽然增加vCPU和内核数量可以提高虚拟机的性能,但它们消耗的宿主机资源也会相应增加。如果分配的vCPU或内核数量超过宿主机的实际物理资源,可能会导致资源争用,影响整体性能。

总结


1.3.软盘设备和 CD/DVD设备

  1. 软盘(autoinst.flp):软盘驱动器(floppy disk)在现代操作系统中已经基本被淘汰。这个虚拟软盘驱动器可能是在虚拟机创建时自动添加的。如果你不需要使用软盘镜像(如 autoinst.flp 文件),通常可以将其移除,以简化虚拟机配置。

  2. CD/DVD 1 (SATA) - autoinst.iso:这个光驱设备正在使用名为 autoinst.iso 的ISO镜像文件,通常这个文件可能与自动化安装脚本或配置相关。如果你已经安装了操作系统或不再需要这个ISO镜像,可以选择移除这个CD/DVD设备。

  3. CD/DVD 2 (SATA) - ubuntu.iso:第二个光驱设备挂载了一个 ubuntu.iso 文件。这应该是你用来安装 Ubuntu 操作系统的ISO文件。如果你已经安装完成了操作系统,并且不再需要使用安装介质,也可以选择移除这个设备。

    是否可以移除:

移除这些设备不会影响虚拟机的正常运行,尤其是在系统已经安装好的情况下。只要虚拟机在使用这些设备时不会加载镜像文件,就可以自由移除。


1.4.网络适配器的常见模式

在虚拟机中,网络适配器的网络连接模式决定了虚拟机与宿主机、其他虚拟机以及外部网络之间的通信方式。常见的几种网络连接模式包括:

1. 桥接模式(Bridged Mode)

桥接模式允许虚拟机直接连接到宿主机所在的物理网络,就像它是网络中的一台独立的物理计算机。

2. NAT模式(Network Address Translation Mode)

NAT模式通过宿主机共享网络连接,虚拟机在宿主机的网络环境下访问外部网络。虚拟机使用的是宿主机的IP地址,通过网络地址转换来实现外部访问。

3. 仅主机模式(Host-only Mode)

仅主机模式将虚拟机与宿主机隔离在一个虚拟网络中,虚拟机与宿主机可以通信,但无法访问外部网络。

4. 自定义模式(Custom Mode)

有时,虚拟机管理工具会提供自定义的网络配置选项,让用户可以在不同的虚拟网络(例如多个虚拟网卡或不同的虚拟交换机)之间进行配置。

5. 内网模式(Internal Network Mode)

一些虚拟化工具(如VirtualBox)提供内网模式,虚拟机可以在一个完全隔离的内部虚拟网络中通信,而与宿主机和外部网络没有任何联系。

6. NAT网络模式(NAT Network Mode)

与普通NAT模式类似,但NAT网络模式允许多个虚拟机共享同一个NAT网络,同时还能彼此通信。

总结

根据你的使用场景,可以选择合适的网络模式进行配置。


1.5.加速3D图形

“加速3D图形”是指虚拟机中的3D图形硬件加速功能,这个功能允许虚拟机通过宿主机的物理GPU(图形处理单元)来处理三维图形渲染任务,从而提高虚拟机中运行的应用程序或操作系统的图形性能。以下是“加速3D图形”的作用及其意义:

1. 加速3D图形的作用

在虚拟机中启用3D图形加速后,虚拟机中的应用程序可以利用宿主机的GPU来处理3D渲染任务,而不只是依赖虚拟机本身的虚拟CPU进行图形处理。这可以显著提升虚拟机中的图形性能。

2. 适用场景

加速3D图形功能主要用于以下几类场景:

3. 硬件要求

要启用3D图形加速,宿主机需要满足以下条件:

4. 如何启用加速3D图形

通常,你可以在虚拟机的设置中找到启用3D加速的选项。例如,在VMware Workstation中:

  1. 打开虚拟机的设置。
  2. 选择“显示器”选项。
  3. 勾选“加速3D图形”复选框。

类似地,在其他虚拟化平台中(如VirtualBox),你也可以在显示器设置中启用3D加速。

5. 可能的限制和注意事项

总结

“加速3D图形”功能使虚拟机能够通过宿主机的GPU处理3D图形任务,提升图形性能,特别是在需要运行3D软件、图形密集型应用、现代操作系统界面时有显著效果。如果你在虚拟机中运行这些任务,启用3D加速将会大幅改善用户体验。


1.6.虚拟机中的磁盘

在虚拟机中安装Ubuntu时,选项 “擦除磁盘并安装 Ubuntu” 所指的“磁盘”是虚拟机的磁盘,而不是你物理计算机上的硬盘。这是虚拟机软件为这个虚拟机创建的一个虚拟硬盘(VHD或VMDK等格式),它相当于是虚拟机的独立存储设备。

1. 擦除磁盘并安装 Ubuntu

当你选择“擦除磁盘并安装 Ubuntu”时,Ubuntu会格式化并使用虚拟机创建的虚拟硬盘。它并不会影响到你物理主机(真实电脑)的硬盘,只是清空了虚拟机内部的虚拟硬盘。如果之前安装了其他系统或文件,这个选项会删除它们并进行全新安装。

2. 虚拟机硬盘空间是哪里来的?

虚拟机的硬盘是在你创建虚拟机时,手动分配的空间。例如,你可以为虚拟机分配一个50GB的虚拟硬盘空间。这个硬盘并不是真实的物理硬盘,它只是虚拟机软件(如 VMware 或 VirtualBox)在你物理硬盘上的一个文件(虚拟磁盘文件)。

3. 虚拟硬盘空间是否实际占用物理硬盘空间?

4. 硬盘空间是如何管理的?

虚拟机的硬盘空间是作为一个独立文件存在的,这个文件存储在你物理机的硬盘上。当你启动虚拟机时,操作系统(如Ubuntu)会将其视为正常的硬盘空间,和在真实电脑上操作没有差别。你分配给虚拟机的硬盘空间实际占用了你物理电脑的存储。

5. 未使用的虚拟磁盘空间还在原来的地方吗?

总结


2.下载VMware

Broadcom官网:https://support.broadcom.com/
1.VMware是这家公司的产品,需要先登录才能下载
没有账号就先注册,注册需要一个邮箱,再填一些信息
(邮箱需真实,会给你邮箱发验证码,信息可以随便填) 2.点击Software->VMware Cloud Foundation->My Downloads 3.下滑找到VMware Workstation Pro 4.选择个人版 5.第一次下载需要填一些信息,随便填 6.打开下载的安装包进行安装 7.选择安装位置,是否需要添加到系统PATH看你需求
8.如果你自定义了安装目录就会弹出这个警告
简单来说就是如果是推荐的目录,进行一些对VMware的操作需要管理员权限
现在对VMware的操作不需要什么权限了 9.这也看你需不要,不需要就不勾选
10.后面还有个快捷方式,可以勾上 11.如果你自定义了安装位置,可能会遇到下图的情况
这是系统找不到该文件的默认位置
你在浏览里找到要求的这个文件再点确定就行

12.安装完成


3.下载Ubuntu镜像

ubantu镜像:https://ubuntu.com/download/desktop
LTS 是 “Long Term Support” 的简写,意为“长期支持”。LTS 版本的操作系统会获得更长时间的支持和更新,通常是五年,这包括安全更新和软件包更新。


4.创建虚拟机

4.1.打开VMware

有密钥可以输一下,没有就选第一个

4.2.创建新的虚拟机

下一步 选择我们下载好的光盘映像文件,再点下一步 填写信息 根据需要设置虚拟磁盘的大小 取消这个创建后打开(因为我们还需要进行其它设置),再点击完成

4.3.编辑虚拟机

内存,处理器,网路i适配器这些概念见上文(三.1基础知识介绍)
1.打开点击虚拟机设置 2.可以修改内存 3.可以修改处理器数量和每个处理器内核 4.可以移除软盘和CD/DVD (SATA)
5.网络链接选择桥接模式 6.确定


5.开启虚拟机

1.开机虚拟机 2.不管什么界面,就是顺着安装走 3.选择语言 4.一路默认即可
5.这里默认擦除磁盘并安装Ubuntu即可 6.设置信息 7.选择时区 8.安装 9.安装完成后重启 10.会让你回车进入 11.可以调节一些分辨率吧 先点击显示设置 我这里选择与我的电脑一样的分辨率


6.设置镜像服务器

具体操作与(上文一.10.设置镜像服务器)一样,这里不再赘述 上面栏目的按键的作用,在把鼠标移上去后有解释


7.查询ip和启动SSH服务

7.1.基础知识介绍

SSH

SSH 是一种网络协议,用于安全地访问和管理远程计算机。它通过加密的连接提供安全的命令行界面,允许用户远程执行命令、管理文件、以及进行安全的文件传输(如 SFTP)。 SSH 可以同时支持这IPv4和IPv6协议

IPv4

IPv4(Internet Protocol version 4)是互联网上最广泛使用的网络协议之一,使用 32 位地址格式,提供大约 42 亿个地址。IPv4 地址通常以四个十进制数表示,如 192.168.1.1。 我们之后传输文件都会用到ip地址

IPv6

这是 IPv4 的继任者,使用 128 位地址,提供几乎无限的地址空间,旨在解决 IPv4 地址枯竭的问题。IPv6 地址通常以八组十六进制数表示。

7.2.查询ip

我们这里演示使用ipv4地址
可以使用命令:ifconfig 一般需要先安装一下工具才能使用:
sudo apt install net-tools
如果安装失败,可以换一下镜像服务器

7.3.启动SSH服务

先安装openssh-server:
sudo apt install openssh-server
然后开启SSH(每次使用SSH都需要用此命令打开服务):
sudo systemctl start ssh
设置成开机自动启动(就成一直打开的状态了):
sudo systemctl enable ssh 随后查看SSH服务状态:
sudo systemctl status ssh
使用此命令后会进入分页器状态,按q退出


8.传输文件(VS Code)

我们需要先下载插件,再配置环境

8.1.Remote - SSH 插件

8.2.主要功能

VS Code 的 Remote - SSH 插件允许你通过 SSH 远程连接到其他计算机,直接在 VS Code 中进行开发。这是一个非常强大的工具,适用于以下场景:

  1. 远程开发:你可以在本地计算机上使用 VS Code,但实际上是在远程服务器上运行代码。这对于服务器、云环境或容器的开发特别有用。

  2. 无缝集成:通过这个插件,你可以访问远程机器上的文件,使用终端和调试工具,几乎就像在本地开发一样。

  3. 环境配置:你可以在远程机器上安装所需的扩展和配置,VS Code 会自动同步这些设置。

  4. 安全性:通过 SSH 连接,数据传输是加密的,确保了安全性。

使用方法:

8.3.配置文件

打开命令面板,(F1,搜索栏输入一个>,Ctrl+Shift+P都行),输入命令:
remote ssh: open ssh configuration file
选第一个
Host填入我们虚拟机的别名
HostName填入我们虚拟机的ip地址
User填入我们虚拟机上连接到用户的用户名

8.4.连接虚拟机

打开命令面板,使用命令: remote ssh : connect current windows to host
第一个当前窗口打开,第二个另外一个窗口打开

我们虚拟机的系统是Linux,后面再输个密码 可以直接打开虚拟机上的文件,但需要输入密码 我打开桌面文件创建了一个py程序 VS Code左侧会出现一个远程资源管理器
因为权限问题,只会显示你打开的文件
终端可以直接使用linux上的命令
如果要复制文件,你打开需要复制到的文件夹,然后把需要复制的文件拖进去就行了
总的来说,VS Code中使用SSH连接更偏向开发,而不是传输文件


9.传输文件(MabaXterm)

下载网址:https://mobaxterm.mobatek.net/download.html
下载免费版的即可 可以看到常用的有两个版本,简单来说:
第一个是便携版,无需安装就可直接运行
第二个是安装版,需要安装,有更多功能
我这里使用的是安装版,把下载的安装包解压后,点击msi文件安装 点击Session(指一个与远程服务器或系统的连接会话) 然后点击SSH,输入ip和用户名 初次连接需要输入密码 第一次用还需要设置一个主密码,在你进行特定操作时进行验证 我们成功连接了,可以进行文件间的传输了,拖动或点击上传图标都可以
MobaXterm还有许多功能,需要自行探索


10.传输文件(WinSCP)

下载网址:https://winscp.net/eng/download.php 打开进去,添加站点点新建标签页就会弹出这个页面
主机名是我们虚拟机的ip地址,连接前确保虚拟机打开了SSH服务
可以鼠标右键点击文件进行上传和下载,也可拖动进行


四.使用Linux


1.关于Linux的一些网站

有几个网站提供了详细的 Linux 命令及其介绍:

  1. Linux Command (https://linuxcommand.org/)
    这个网站提供了大量的 Linux 命令及其用法,适合初学者和有经验的用户。

  2. SS64 https://ss64.com/bash/
    这个网站包含了 Bash 命令的完整列表,每个命令都有详细的说明和用法示例。

  3. TLDP (The Linux Documentation Project) https://tldp.org/
    提供各种文档和指南,包括 Linux 命令和系统管理的手册。

  4. Cheat Sheet https://www.cheat-sheets.org/
    这个网站提供了多个主题的备忘单,包括常用的 Linux 命令,方便快速查找。

  5. Die.net https://linux.die.net/
    这是一个提供 Linux 命令及其手册页的网站,可以查找特定命令的详细信息。


2.Shell的简介

终端与 Shell 的关系

Linux 命令

总结

所以,Linux 终端通常与 Shell 是密切相关的,Linux 命令指的就是在 Shell 中可以执行的命令。


3.Linux的常用快捷键

在 Linux 中,尤其是在使用终端时,有许多快捷键可以提高效率。以下是一些常用的 Linux 快捷键及其功能:

终端快捷键

  1. 基本操作

    • Ctrl + C: 终止当前运行的命令。
    • Ctrl + Z: 将当前运行的命令暂停并放入后台。
    • fg: 将最近放入后台的命令恢复到前台运行。
    • bg: 将最近放入后台的命令在后台继续运行。
  2. 命令行编辑

    • Ctrl + A: 移动光标到命令行的开头。
    • Ctrl + E: 移动光标到命令行的结尾。
    • Ctrl + U: 删除光标前的所有文本。
    • Ctrl + K: 删除光标后的所有文本。
    • Ctrl + W: 删除光标前一个单词。
    • Ctrl + Y: 粘贴之前删除的文本(来自 Ctrl + UCtrl + KCtrl + W)。
  3. 命令历史

    • Ctrl + R: 启动反向搜索命令历史,可以输入命令的一部分来查找。
    • Ctrl + N: 向下浏览命令历史。
    • Ctrl + P: 向上浏览命令历史。
    • !!: 执行上一条命令。
  4. 光标移动

    • 左箭头 / 右箭头: 在命令行中移动光标。
    • Ctrl + 左箭头 / Ctrl + 右箭头: 在命令行中按单词移动光标。

系统快捷键

  1. 桌面环境快捷键(如 GNOME 或 KDE)

    • Alt + F2: 打开运行对话框,可以输入命令直接运行。
    • Ctrl + Alt + T: 打开新的终端窗口。
    • Super (Windows 键) + D: 最小化所有窗口并显示桌面。
    • Alt + Tab: 在打开的应用程序之间切换。
  2. 文件管理器快捷键

    • Ctrl + N: 打开新窗口。
    • Ctrl + Shift + N: 创建新文件夹。
    • Delete: 删除选中的文件或文件夹。

文本编辑器(如 Vim 或 Nano)

其他常用快捷键


4.Linux目录的简介

Linux 文件系统采用树状结构,所有文件和目录都从根目录(/)开始。以下是一些主要的 Linux 目录及其功能:

1. / (根目录)

2. /bin

3. /sbin

4. /etc

5. /dev

6. /proc

7. /var

8. /tmp

9. /usr

10. /home

11. /root

12. /media

13. /mnt

14. /opt

15. /boot

总结

Linux 目录结构清晰、层次分明,使得系统的管理和操作更为高效。理解这些目录及其功能是使用和管理 Linux 系统的重要基础。


5.Linux终端各种颜色的含义

在 Linux 终端中,文件和目录的颜色编码提供了视觉上的帮助,帮助用户快速识别不同类型的文件和目录。颜色的具体表示可能因终端的配置而有所不同,但以下是常见的颜色及其代表的含义:

常见颜色及其含义

  1. 蓝色

    • 目录: 代表普通目录。
  2. 绿色

    • 可执行文件: 代表可执行的程序或脚本。
  3. 红色

    • 压缩文件: 代表压缩文件(如 .zip.tar.gz 等)。
  4. 紫色(洋红色)

    • 图像文件: 代表图像文件(如 .jpg.png 等)。
  5. 青色(青蓝色)

    • 符号链接: 代表指向其他文件或目录的符号链接。
  6. 黄色

    • 设备文件: 代表设备文件,通常位于 /dev 目录下。
  7. 白色

    • 普通文件: 代表普通文件。
  8. 亮蓝色

    • 目录(特殊目录): 可能用于标识系统的特殊目录。
  9. 亮绿色

    • 可执行文件(特别的): 可能用于标识系统的特殊可执行文件。

颜色配置

终端中的颜色设置通常由环境变量 LS_COLORS 控制。你可以通过以下命令查看当前的颜色设置:

echo $LS_COLORS

如果需要自定义颜色,你可以编辑 ~/.bashrc~/.bash_profile 文件,并设置 LS_COLORS 变量。

默认情况下,使用 ls 命令时,通常会带有 –color 选项,显示带颜色的文件和目录。示例如下:

ls –color=auto

这将自动根据文件类型使用颜色。


6.Linux的一些辅助操作

Tab 键的作用

在 Linux 终端中,Tab 键主要用于自动补全功能,具体作用如下:

  1. 命令补全: 当你开始输入一个命令时,按下 Tab 键会自动补全命令。例如,输入 ls 后按 Tab,终端会尝试补全该命令。

  2. 文件和目录补全: 当输入文件或目录名时,按 Tab 键会自动补全输入。例如,输入 cd Doc 后按 Tab,如果当前目录下有名为 Documents 的目录,终端会自动补全为 cd Documents

  3. 显示可选项: 如果有多个可能的补全选项,按下 Tab 键两次,终端会显示所有匹配的选项。例如,输入 ls /u 后按 Tab 两次,可能会显示 /usr//var/ 等可选目录。

man 命令

man(manual的缩写)命令用于查看系统中的手册页(man pages),提供关于命令、系统调用和库函数的详细说明。使用格式如下:

man [命令]

示例:

手册页的简介

在 Linux 的 man 命令查看手册页时,有几个基本的键盘操作可以用来翻页、滚动和退出。以下是常用的操作键:

翻页和滚动:

搜索:

退出:

其他操作:

手册页结构

手册页通常分为多个部分,包括:

常用选项

whatis 命令用于显示指定命令或主题的简短描述。它通常用来快速了解某个命令的功能。使用格式如下:

whatis [命令]

示例:

注意事项

总结

这些工具和功能可以大大提高在 Linux 系统中工作和操作的效率。


7.Linux常用命令

以下是按使用频率排序的常用 Linux 命令,并简要介绍了它们的功能:

1. ls (List)

2. cd (Change Directory)

3. pwd (Print Working Directory)

4. mkdir (Make Directory)

5. rm (Remove)

6. cp (Copy)

7. mv (Move)

8. cat (Concatenate)

9. touch

10. chmod (Change Mode)

11. chown (Change Owner)

12. find

13. grep

14. echo

15. df (Disk Free)

16. du (Disk Usage)

17. ps (Process Status)

18. top

19. kill

20. nano / vim / vi

21. sudo (Superuser Do)

22. apt / yum / dnf

23. wget

24. curl

25. tar

26. zip/unzip

27. ssh (Secure Shell)

28. scp (Secure Copy)

29. history

30. reboot / *shutdown

31. alias

32. unalias

33. awk

34. sed (Stream Editor)

35. head

36. tail

37. sort

38. uniq

39. wc (Word Count)

40. basename

41. dirname

42. diff

43. ln

44. locate

45. updatedb

46. mount

47. umount

48. dd

49. fdisk

50. df (Disk Free)

51. du

52. nc (Netcat)

53. ifconfig

54. ip

55. ping

56. traceroute

57. netstat

58. ss

59. uptime

60. htop

61. dmesg

62. journalctl

63. who

64. w

65. useradd

66. usermod

67. userdel

68. passwd

69. groupadd

70. groups

71. tar

72. gzip

73. gunzip

74. bzip2

74. bzip2

75. bunzip2

76. xargs

77. find

78. locate

79. chown

80. chgrp

81. chmod

82. umask

83. scp

84. rsync

85. ssh

86. wget

87. curl

88. uptime

89. free

90. vmstat

91. lsof

92. top

93. kill

94. pkill

95. killall

96. cron

97. at

98. batch

99. hostname

100. whoami

101. uptime

102. dstat

103. passwd

104. groupadd

105.useradd

106. usermod

107. deluser

108. modprobe

109. lsmod

110. rmmod

111. depmod

112. iwconfig

113. ifup

114. ifdown

115. dhclient

116. host

117. dig

118. nslookup