零基础教程:Windows电脑安装Linux系统(双系统/虚拟机)全攻略


一、安装方式选择

方案对比表

特性双系统安装虚拟机安装
性能原生硬件性能依赖宿主机资源分配
磁盘空间需要独立分区(建议50GB+)动态分配(默认20GB起)
内存占用独占全部内存需手动分配(建议4GB+)
启动方式开机选择系统随宿主系统启动
适用场景长期使用/开发环境学习测试/临时使用
安全性需处理分区风险完全隔离无风险

二、双系统安装教程(以Ubuntu为例)

准备工作

  1. 硬件要求

    • 空闲磁盘空间:至少50GB(建议SSD)
    • 内存:4GB+(推荐8GB)
    • U盘:8GB+(制作启动盘)
  2. 工具下载

    • Ubuntu ISO镜像:官网下载
    • Rufus启动盘工具:下载地址

安装步骤

步骤1:创建磁盘分区
  1. Win+X > 磁盘管理
  2. 右键C盘 > 压缩卷
  3. 输入压缩空间量(建议50GB-100GB
  4. 生成未分配空间(不要新建卷

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28XYtpct-1744125278025)(https://example.com/disk-partition.png)]

步骤2:制作启动U盘
  1. 打开Rufus
  2. 选择U盘和Ubuntu镜像
  3. 分区类型:GPT
  4. 文件系统:FAT32
  5. 点击开始(会格式化U盘!)
步骤3:BIOS设置
  1. 重启时连续按F2/Del进入BIOS
  2. 关闭Secure Boot
  3. 调整启动顺序:U盘第一
  4. 保存退出(F10)
步骤4:安装Ubuntu
1. 选择"Install Ubuntu"
2. 键盘布局:English(US)
3. 安装类型选择"Something else"(手动分区)# 关键分区设置(示例50GB空间)
/boot     : 1GB    ext4   # 启动分区
swap      : 8GB    swap   # 交换空间(内存的1.5倍)
/         : 30GB   ext4   # 根目录
/home     : 剩余空间 ext4 # 用户数据4. 安装引导器选择Windows Boot Manager所在磁盘
5. 确认时区、用户信息
6. 点击安装(约15-30分钟)
步骤5:首次启动
  1. 拔掉U盘重启
  2. 出现GRUB菜单选择系统
  3. 完成系统初始化设置

三、虚拟机安装教程(VMware Workstation)

环境准备

  1. 宿主机配置建议

    • CPU:4核+(支持虚拟化技术)
    • 内存:8GB+(给虚拟机分配4GB)
    • 磁盘空间:40GB+(动态分配)
  2. 软件下载:

    • VMware Workstation Pro:官网
    • Ubuntu镜像:同上

详细步骤

步骤1:创建新虚拟机
  1. 打开VMware > 新建虚拟机
  2. 选择"自定义配置"
  3. 硬件兼容性:Workstation 16.x
  4. 选择ISO镜像文件
步骤2:资源分配
- 处理器:2核心(若宿主机是4核)
- 内存:4096 MB(不要超过宿主机剩余内存的50%)
- 网络:NAT模式
- 磁盘类型:SCSI
- 磁盘大小:40GB(选择"拆分成多个文件")
步骤3:安装增强功能
# 安装完成后执行
sudo apt install open-vm-tools-desktop -y
sudo reboot

四、内存分配建议表

使用场景虚拟机建议内存双系统swap分区
基础命令行操作2GB2GB
桌面日常使用4GB4GB
开发环境8GB8GB
大数据处理16GB+16GB+

五、常见问题解决

  1. 无法识别Windows分区

    • 安装时勾选"安装第三方软件"
    • 终端执行:sudo ntfsfix /dev/sdXn
  2. 启动项丢失

    • 使用Ubuntu安装U盘进入Try Ubuntu
    • 执行:sudo update-grub
  3. 虚拟机卡顿

    • 开启CPU虚拟化(BIOS中Intel VT-x/AMD-V)
    • 安装VMware Tools

六、进阶配置建议

  1. 双系统共享磁盘

    • 创建NTFS公共数据分区
    • Ubuntu安装:sudo apt install ntfs-3g
  2. 虚拟机快照管理

    • 重要操作前创建快照
    • 定期清理旧快照
  3. 性能优化

    # 禁用无用服务
    sudo systemctl disable bluetooth.service
    # 使用Zswap压缩内存
    sudo nano /etc/default/grub
    # 添加:GRUB_CMDLINE_LINUX="zswap.enabled=1"
    

七、学习资源推荐

  1. 新手推荐发行版:

    • Ubuntu LTS(最友好)
    • Linux Mint(Win风格界面)
    • Zorin OS(专为Windows用户设计)
  2. 入门学习路径:

    • 基础命令:ls/cd/mkdir/rm
    • 文件权限:chmod/chown
    • 包管理:apt/yum
    • 系统管理:systemctl/journalctl

注意事项

  1. 重要数据务必提前备份
  2. 笔记本用户注意显卡驱动兼容性
  3. 首次安装建议使用LTS长期支持版本
  4. 遇到问题善用Ctrl+Alt+T打开终端查询日志

通过本教程,您已经掌握了两种主流的Linux安装方式。建议新手先从虚拟机开始体验,熟悉后再尝试双系统安装。开启你的Linux之旅吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 2968.执行操作使频率分数最大

给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 你可以对数组执行 至多 k 次操作: 从数组中选择一个下标 i ,将 nums[i] 增加 或者 减少 1 。 最终数组的频率分数定义为数组中众数的 频率 。 请你返回你可以得到的 最大 频率分数。 众数指的…

excel经验

Q:我现在有一个excel,有一列数据,大概两千多行。如何在这一列中 筛选出具有关键字的内容,并输出到另外一列中。 A: 假设数据在A列(A1开始),关键字为“ABC”在相邻空白列(如B1)输入公…

HTTP查询参数示例(XMLHttpRequest查询参数)(带查询参数的HTTP接口示例——以python flask接口为例)flask查询接口

文章目录 HTTP查询参数请求示例接口文档——获取城市列表代码示例效果 带查询参数的HTTP接口示例——以python flask接口为例app.pyREADME.md运行应用API示例客户端示例关键实现说明:运行方法: HTTP查询参数请求示例 接口文档——获取城市列表 代码示例…

将飞帆制作的网页作为 div 集成到自己的网页中

并且自己的网页可以和飞帆中的控件相互调用函数。效果: 上链接 将飞帆制作的网页作为 div 集成到自己的网页中 - 文贝 进入可以复制、运行代码

Redis主从复制:告别单身Redis!

目录 一、 为什么需要主从复制?🤔二、 如何搭建主从架构?前提条件✅步骤📁 创建工作目录📜 创建 Docker Compose 配置文件🚀 启动所有 Redis🔍 验证主从状态 💡 重要提示和后续改进 …

k8s 1.30.6版本部署(使用canal插件)

#系统环境准备 参考 https://blog.csdn.net/dingzy1/article/details/147062698?spm1001.2014.3001.5501 #配置下载源 curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key |gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyri…

机器学习的一百个概念(7)独热编码

前言 本文隶属于专栏《机器学习的一百个概念》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见[《机器学习的一百个概念》 ima 知识库 知识库广场搜索&…

RHCSA复习

在Linux中, wrx 分别代表写(write)、读(read)和执行(execute)权限,它们对应的权限值分别是: - r (读权限):权限值为4。 - w &am…

“乐企“平台如何重构业财税票全流程生态?

2025年,国家税务总局持续推进的"便民办税春风行动"再次推进数字化服务升级,其中"乐企"平台作为税务信息化的重要载体,持续优化数电票服务能力,为企业提供更高效、更规范的税务管理支持。在这一背景下&#xf…

Android audio(6)-audiopolicyservice介绍

AudioPolicyService 是策略的制定者,比如某种 Stream 类型不同设备的音量(index/DB)是多少、某种 Stream 类型的音频数据流对应什么设备等等。而 AudioFlinger 则是策略的执行者,例如具体如何与音频设备通信,维护现有系…

Boost库搜索引擎项目(版本1)

Boost库搜索引擎 项目开源地址 Github:https://github.com/H0308/BoostSearchingEngine Gitee:https://gitee.com/EPSDA/BoostSearchingEngine 版本声明 当前为最初版本,后续会根据其他内容对当前项目进行修改,具体见后续版本…

git分支合并信息查看

TortoiseGit工具 1、选择"Revision graph" 2、勾选view中的 Show branchings and merges Arrows point towards merges 3、图案说明 红色部分‌:代表当前分支 橙色部分‌:代表远程分支 黄色部分‌:代表一个tag 绿色部分‌&#xf…

Java学习笔记(多线程):ReentrantLock 源码分析

本文是自己的学习笔记,主要参考资料如下 JavaSE文档 1、AQS 概述1.1、锁的原理1.2、任务队列1.2.1、结点的状态变化 1.3、加锁和解锁的简单流程 2、ReentrantLock2.1、加锁源码分析2.1.1、tryAcquire()的具体实现2.1.2、acquirQueued()的具体实现2.1.3、tryLock的具…

在C++11及后续标准中,auto和decltype是用于类型推导的关键特性,它们的作用和用法。

在C11及后续标准中,auto和decltype是用于类型推导的关键特性,它们的作用和用法有所不同。以下是详细说明: 1. auto 关键字 基本作用 自动推导变量的类型(根据初始化表达式)主要用于简化代码,避免显式书写…

Linux:进程程序替换execl

目录 引言 1.单进程版程序替换 2.程序替换原理 3.6种替换函数介绍 3.1 函数返回值 3.2 命名理解 3.3 环境变量参数 引言 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),我们所创建的所有的子进程,执行的代码&#x…

LeetCode.02.04.分割链表

分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输入:head [1,4,3,2,5,2], x …

Johnson算法 流水线问题 java实现

某印刷厂有 6项加工任务J1,J2,J3,J4,J5,J6,需要在两台机器Mi和M2上完 成。 在机器Mi上各任务所需时间为5,1,8,5,3,4单位; 在机器M2上各任务所需时间为7,2,2,4,7,4单位。 即时间矩阵为: T1 {5, …

按键++,--在操作uint8_t类型(一个取值为1~10的数)中,在LCD中显示两位数字问题

问题概况 在执行按键,--过程中,本来数值为1~10.但是在执行过程中,发现数值在经过10数值后,后面的“0”会一直在LCD显示屏中显示。 就是执行操作中,从1,2,3,4,5&#xf…

【QT】QTreeWidgetItem的checkState/setCheckState函数和isSelected/setSelected函数

目录 1、函数原型1.1 checkState/setCheckState1.2 isSelected/setSelected2、功能用途3、示例QTreeWidget的checkState/setCheckState函数和isSelected/setSelected这两组函数有着不同的用途,下面具体说明: 1、函数原型 1.1 checkState/setCheckState Qt::CheckState QTr…

005 vue项目结构 vue请求页面执行流程(vue2)

文章目录 vue项目结构vue请求页面执行流程main.jsrouterHelloWorld.vueApp.vueindex.html vue项目结构 config目录存放的是配置文件,比如index.js可以配置端口 node_modules存放的是该项目依赖的模块,这些依赖的模块在package.json中指定 src目录分析 1…