ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

免U盘安装Ubuntu与Deepin双系统:不刻盘、不写代码的完整指南

免U盘安装Ubuntu与Deepin双系统:不刻盘、不写代码的完整指南 写这篇教程之前我先说个前提装系统这事儿真不是只有“刻录U盘”这一条路。我家里U盘倒是不少但正经拿来装系统的次数屈指可数原因很简单——找U盘麻烦、来回格式化麻烦、镜像写入慢更别提有些老电脑的U盘启动兼容性差到让人崩溃。这篇教程要解决的就是“手头没有U盘、或者压根不想用U盘”的情况下怎么把 ubuntu 和 deepin 这两个主流 Linux 发行版装成双系统也可以和 Windows 组成三系统。全程不用写一行高深代码不依赖任何付费软件鼠标点一点就能搞定。适合想尝鲜 Linux、又不想折腾U盘的新手也适合需要在现有 Windows 环境下快速部署一套 Linux 工作环境的开发者。1. 不插U盘装系统的底层逻辑先把原理聊透1.1 Windows 引导链是怎么“白嫖”Linux 安装器的很多人一听到“不用U盘”就觉得是玄学其实本质就是利用 Windows 自带的引导机制去启动一个我们已经放在硬盘里的 Linux ISO 镜像文件。我把这条链路的每一步拆给你看。Windows 的启动流程走到最后一步时会读取系统分区通常是 C 盘根目录里的bootmgr文件然后由它加载\Boot\BCD这个启动配置数据库。BCD 相当于一个菜单里面记录了这个电脑上有哪些操作系统可以启动。传统做法是把 Linux 装进独立分区然后在 BCD 里添加一条指向 Linux 引导器的记录但我们这里更取巧——直接把 Linux 的 ISO 镜像放到硬盘上再给 BCD 添加一条“虚拟光驱”类型的启动项让它加载 ISO 里的引导文件。这就是 EasyBCD 这类工具干的事情往 BCD 数据库里塞一条 NeoGrub其实就是简化版 GRUB的记录或者一条直接指向 ISO 文件的记录。重启后Windows 引导菜单会出现你新加的这个条目选中它GRUB 引导器会接管控制权把 ISO 里的 Linux 内核和 initrd 加载进内存随后进入完整的图形化安装界面。这个过程对硬盘分区表没有特殊要求MBR 和 GPT 都能用。区别只在于老式 BIOS MBR 的电脑EasyBCD 走的是grub4dos或NeoGrub方式新式 UEFI GPT 的电脑走的是 GRUB2 的 loopback 方式。下面我会把两种模式都讲到你自己对号入座。1.2 为什么我推荐你先想清楚“装完之后怎么启动”这里有个新手最容易踩的坑用 ISO 引导进入安装界面之后安装程序让你选择“安装启动引导器到哪个磁盘”时很多人直接一路下一步结果把 Windows 的引导覆盖了。重启之后要么直接进 Linux要么 GRUB 菜单里根本没有 Windows 这一项。所以真正动手之前你得先在脑子里有一个完整的方案图景方案 A保留 Windows 引导让 Linux 的引导器接管。装完 Linux 后开机直接进 GRUB 菜单菜单里有 ubuntu/deepin 和 Windows 两个选项。这是最常用的双系统方案。方案 B让 Windows 引导器管理一切。 Linux 的引导器装到 Linux 自己的根分区然后用 EasyBCD 在 Windows BCD 里添加一条指向 Linux 分区的启动项。这样开机先进 Windows 的蓝底菜单选完再跳转到 Linux 引导器。我个人的建议是方案 A因为 Linux 的 GRUB 对 Windows 的识别几乎是全自动的装完系统系统会自动执行os-prober扫描并生成 Windows 的启动项。反过来 Windows 引导器识别 Linux 则没那么省心。不过方案 B 也有它的好处万一哪天你卸载 LinuxWindows 引导完全不受影响。1.3 你需要提前准备的三样东西虽然说不靠U盘但基础准备工作还是少不了的。你需要一张能上网的电脑这不废话嘛、一个 Linux 发行版的 ISO 镜像文件以及一款引导编辑工具。具体来说ubuntu 官方镜像建议从 ubuntu.com 下载选 LTS长期支持版本比如 24.04.x。下载的时候注意看文件名里的架构标识要选amd64不要选arm64。deepin 官方镜像去 deepin.org 下载同样选amd64架构。deepin 的镜像一般比较大2GB 以上因为内置了完整的桌面环境和常用软件。EasyBCD 工具这是 Windows 下的免费软件非商业用途免费当前版本是 2.4。它很小几 MB直接去官网下载就行。后面我会详细讲怎么用它配置引导项。提示如果你的电脑已经装了 Windows 11 24H2 及以上版本可能默认开启了“核心隔离”和“基于虚拟化的安全”偶尔会影响 EasyBCD 写 BCD 的操作。遇到权限报错时用管理员身份运行 EasyBCD 基本都能解决。1.4 磁盘空间分配这一步别拍脑袋装双系统最忌讳的事情就是“随便压缩点空间出来”。压缩多了 Windows 不够用压缩少了 Linux 装不上几个软件。我给你一个相对通用的参考标准ubuntu 桌面版建议根分区/至少 40GB如果打算装 Docker、Android Studio、游戏这类重量级软件直接给 80GB 以上。内存小于 8GB 的机器建议再分一个 4~8GB 的 swap 交换分区内存 16GB 以上可以不单独分 swap或者只分 2GB 兜底。deepin 桌面版deepin 的安装包大、依赖组件全对磁盘的需求比 ubuntu 更“贪婪”。建议根分区起步 60GB日常办公加轻度开发够用。同样内存小的机器建议留 swap。在 Windows 里打开“磁盘管理”WinX然后选“磁盘管理”在 C 盘或者任意一个有足够剩余空间的盘上右键选“压缩卷”输入你想分给 Linux 的大小。压缩出来的那部分空间会显示为“未分配”这就是 Linux 安装程序能直接识别并使用的区域。注意一个细节压缩卷操作只对 C 盘这类主分区比较顺利如果你只有 D 盘、E 盘这种逻辑分区压缩出来的空间可能在磁盘末尾Linux 也能认但安装时分区界面看起来会比较绕。最省心的做法是如果你只有一个 C 盘压缩 C 盘如果有多个盘优先压缩最后一个物理盘上的分区让未分配空间紧挨着磁盘末尾。2. 免U盘引导的具体操作照着点就行2.1 把 ISO 文件放到一个 Windows 能稳定读取的位置这一步看起来简单但有个隐性要求这个位置必须是你待会儿在 Linux 安装界面里能找到的位置。我踩过最尴尬的坑就是把 ISO 放在了 NTFS 格式的 D 盘结果 Linux 的 GRUB 加载 ISO 时对 NTFS 的支持虽然不错但偶尔会碰到大文件碎片化的问题导致引导失败。所以稳妥的做法是把 ISO 文件放到某个分区根目录下比如C:\linux\或者D:\linux\路径中不要出现中文和空格。C 盘根目录或者 D 盘根目录都可以只要磁盘分区表正常、供电稳定就行。还有一点要提醒下载完 ISO 后最好校验一下 SHA256 哈希值和官网公布的对一下。这个问题很少见但一旦出现你在安装界面卡到一半才意识到镜像损坏那才叫欲哭无泪。Windows 下可以用 PowerShell 运行Get-FileHash命令来校验。Get-FileHash C:\linux\ubuntu-24.04.2-desktop-amd64.iso2.2 EasyBCD 添加引导项BIOS/MBR 和 UEFI/GPT 各说一遍这部分是全文最重要的实操环节我分两种情况详细说明。你先确定自己电脑属于哪一种WinR 输入msinfo32回车在“系统摘要”里看“BIOS 模式”这一项显示“传统”就是 BIOS/MBR显示“UEFI”就是 UEFI/GPT。先讲传统 BIOS/MBR 模式的操作以管理员身份运行 EasyBCD。左侧菜单点“添加新条目”然后在右侧顶部找到“NeoGrub”标签页。点击“安装”按钮EasyBCD 会生成一个C:\NST目录里面包含了 NeoGrub 的引导文件。接着点左侧“编辑引导菜单”再点“添加新条目”在“便携/外接介质”标签页里选“ISO”选项然后在文件路径处浏览选择你之前放好的 ISO 文件。保存设置重启电脑。开机时你会在 Windows 引导菜单里看到一个“NeoGrub”或“ISO”相关的条目选中它回车就会进入 GRUB 引导界面然后自动加载 ISO 里的 Linux 安装环境。再讲 UEFI/GPT 模式的操作以管理员身份运行 EasyBCD。左侧点“添加新条目”在右侧找到“GRUB 2”标签页选择“GrubLegacy”或“GRUB2”的模板不同版本选项名称略有差异。点“安装”按钮EasyBCD 会生成一个C:\Boot\grub目录及相应文件。同样在“便携/外接介质”里添加 ISO 条目或者手动修改grub.cfg文件指向 ISO。保存后重启在 Windows 引导菜单中选择新条目会进入 GRUB2 命令行或菜单然后启动 ISO 里的安装程序。这里要看一个常见的奇葩情况部分新电脑用 EasyBCD 添加 ISO 条目后重启选择该条目会黑屏或者直接跳回 Windows。这通常是 Secure Boot安全启动在阻挠。解决办法是进 BIOS 暂时关闭 Secure Boot装完 Linux 后再重新打开Linux 桌面版的内核和引导器基本都支持 Secure Boot重新开启后一般能正常引导。2.3 没有 EasyBCD 的替代方法用 bootmgr 硬扛如果你不想安装第三方工具Windows 本身也留了一扇门利用bootmgr对.efi文件的加载能力。这个方法对 UEFI 机器更友好步骤如下在 C 盘创建一个文件夹比如C:\bootiso。把 ubuntu 或 deepin 的 ISO 文件复制到这个文件夹里。下载一个名为grubx64.efi的 GRUB2 引导文件这个文件在 Linux 安装镜像内的EFI\BOOT目录下就能找到可以用 7-Zip 打开 ISO 提取。在管理员权限的命令提示符里用bcdedit创建一个新的启动条目bcdedit /create /d Linux ISO /application bootsector执行后系统会返回一个 GUID比如{a1b2c3d4-...}记下来。然后继续设置路径和系统分区bcdedit /set {GUID} device partitionC: bcdedit /set {GUID} path \bootiso\grubx64.efi bcdedit /displayorder {GUID} /addlast然后把 grubx64.efi 配套的grub.cfg写好指向你的 ISO 文件路径。这个方法的优点是不需要额外软件缺点是配置 grub.cfg 对新手稍微有点门槛。我建议小白还是老老实实用 EasyBCD更直观也更不容易出错。2.4 进入 Linux 安装界面之后分区和引导器的两个关键选择当 GRUB 加载 ISO 成功后你会进入 ubuntu 或 deepin 的试用/安装界面。中文系统通常会直接显示中文选项。选择“安装”之后有两步需要你花心思第一步是分区。选择“手动分区”Something else / 手动。这时你会看到之前压缩出来的“空闲空间”。选中它然后点击加号新建分区。一个典型的 ubuntu 桌面版分区方案长这样分区用途大小类型挂载点EFI 系统分区512MB如果你电脑已有 EFI 分区可跳过主分区/boot/efiLinux 根分区剩余全部主分区/Swap可选内存大小或 2~4GB交换空间-deepin 则相对简单它默认会用一个新的根分区挂载/不太强制单独建/boot。但如果你用的是 UEFI 新电脑务必确认把引导器的安装位置选在 EFI 分区或者你新建的 512MB 分区上。第二步是安装启动引导器的位置。如果你选择方案 A让 GRUB 接管引导这里直接选/dev/sda或整个磁盘取决于你机器硬盘的设备名一般新电脑是/dev/nvme0n1。如果你之前 Windows 的 EFI 分区还在你可以把 GRUB 直接装到那个分区上安装器会自动识别并更新。注意即便你选择了 Windows 所在的物理硬盘作为引导器安装位置ubuntu 和 deepin 的安装器也会自动运行os-prober扫描到 Windows 并添加到 GRUB 菜单。如果装完发现菜单里没有 Windows多数情况下是因为你的 Windows 是休眠状态Fast Startup 快速启动导致文件系统被锁定或者是安全启动干扰后续我会讲怎么手动修复。3. 装完之后双系统引导的配置与修复3.1 开机默认进 Linux 还是 Windows一个命令搞定装完系统重启后你大概率会看到 GRUB 菜单里面有 ubuntu或 deepin和 Windows Boot Manager 两个选项默认进的是 Linux倒计时 10 秒。很多人的需求其实是“平时我主要用 Windows只有干活的时候才切到 Linux”。那你就得把默认项改成 Windows。修改方法很简单进入 Linux 系统打开终端。输入以下命令查看当前 GRUB 配置sudo grep -n GRUB_DEFAULT /etc/default/grub把GRUB_DEFAULT0改成GRUB_DEFAULTsaved再添加一行GRUB_SAVEDEFAULTtrue这样以后你在 GRUB 菜单里选过哪个系统下次就默认启动哪个系统。这比固定写死序号更灵活。sudo nano /etc/default/grub改完保存退出然后更新 GRUB 配置sudo update-grub如果你用的是 deepin终端命令完全一样因为 deepin 底层也是基于 Debian 系的 GRUB 体系。更新完毕后你可以重启验证一下效果。3.2 双系统下从一个系统修复另外一个系统的引导这个场景太经典了。举个真实例子某人装了 Windows 和 ubuntu 双系统某天 Windows 更新之后重启发现 GRUB 没影了开机直接进 WindowsLinux 分区还在但就是进不去。或者反过来有人折腾 grub 主题把引导器搞坏了。这时候不需要重装系统更不需要重新刻U盘用 Live CD就是咱们免U盘引导进去的安装环境就能修。操作思路是这样的用之前 EasyBCD 添加的 ISO 引导项再次进入 ubuntu 或 deepin 的安装界面。选择“试用”Try Ubuntu / 试用 deepin进入桌面环境。打开终端执行以下命令sudo mount /dev/nvme0n1p3 /mnt/dev/nvme0n1p3是你要修复的 Linux 根分区设备名具体用哪个先用lsblk -f查看所有分区的文件系统类型和挂载点找到类型为 ext4 且挂载点是/的那个分区。接着把 EFI 分区挂载到/mnt/boot/efisudo mount /dev/nvme0n1p1 /mnt/boot/efi如果你不确定 EFI 分区是哪个看lsblk -f里类型为 vfat 且一般体积在 100M~512M 之间的小分区就是。然后进入 chroot 环境sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt在 chroot 环境里重新安装 GRUB 到 EFI 分区grub-install /dev/nvme0n1如果是老式 BIOS/MBR 电脑命令不变设备换成你的整块硬盘名比如/dev/sda。然后更新引导菜单update-grub exit # 退出 chroot sudo umount -R /mnt # 卸载所有挂载 reboot # 重启验证这套流程我前前后后用了不下十次每次都能把引导救回来。它算得上是“双系统最值得学会的救命技能”。3.3 开机直接显示 deepin Logo 后进不去桌面的处理思路这个话题在最近的热搜词里频繁出现我猜测遇到的人不在少数。现象是开机过了 GRUB屏幕显示 deepin 的 Logo然后一直卡在那进不了桌面或者闪几下又黑屏。这类问题的排查思路其实是有顺序的先看是不是显卡驱动问题。这是最常见的原因尤其是 N 卡和部分 AMD 新卡。你可以通过 GRUB 菜单按e键编辑启动参数在linux那一行末尾追加nomodeset参数然后按CtrlX启动。如果这样能进桌面那基本锁定是模式设置的问题后续可以永久修改/etc/default/grub在GRUB_CMDLINE_LINUX_DEFAULT里加上nomodeset然后update-grub。再看是不是显存或内核崩溃。如果加了nomodeset仍然卡 Logo按CtrlAltF2或 F3~F6切换到纯文本终端用你的用户名密码登录然后执行dmesg | tail -50查看最近的日志。如果输出里反复出现 GPU 相关的错误多半是驱动问题。如果你看到的是文件系统只读、磁盘 I/O 错误那就跑一下fsck检查根分区。deepin 还有一个比较特殊的点它默认启用了桌面特效合成器。在某些老旧或兼容性差的显卡上这个合成器会把系统拖死。你可以进文本终端执行sudo dmesg检查也可以尝试禁用合成器新建用户看能不能正常进桌面能进的话说明是原用户配置文件的问题删除~/.config/deepin或~/.config/kwin相关内容再重启。如果这些都无效考虑内核版本不兼容。deepin 的仓库里有多个内核版本可以在 GRUB 菜单的“高级选项”里选择旧版内核启动试试。这个办法我印象里有不少人都靠它救回来了。3.4 双系统卸载 ubuntu 的正确姿势别把引导搞没了玩腻了想删掉 Linux这种需求很常见。卸载方法要分几步走顺序千万不能乱否则 Windows 也会被牵连。首先要修复引导。最简单的方式就是在 Windows 下用 EasyBCD删除之前添加的 NeoGrub 或 GRUB2 相关条目如果是 UEFI 机器直接用 Diskpart 把 Linux 在 EFI 分区里生成的引导文件删掉再进 BIOS 把启动顺序里 Linux 相关的项删除。然后删除分区。打开 Windows 自带的“磁盘管理”找到 Linux 所在的分区一般是没有盘符的、文件系统类型显示为 Unknown 或者 ext4 的分区右键删除卷。如果你之前建了 /boot 分区、根分区、home 分区、swap 分区每个都要删除。删完之后把释放出来的空间合并到你想要的盘上。最后处理遗留文件。如果你之前在 GRUB 里看到过双系统菜单删完之后要确保它不再出现。由于我们已经修复了引导重启后应该直接进 Windows不会再看到 Linux 的引导菜单。顺带一提如果你发现 Windows 有某个盘变成了 RAW 格式或者丢失了盘符大概率是分区表层面出了问题。这时候不要慌用管理员模式运行 Diskpart重新给分区分配盘符或者用chkdsk检查。不过预防胜于治疗删除 Linux 分区之前务必备份重要数据。4. 免U盘方案的避坑指南和我的真实使用体感4.1 为什么免U盘引导偶尔会失败排查思路整理站在一个踩过无数坑的人角度我把免U盘引导失败的原因和排查方法整理成下面的速查表希望能帮你少走弯路。现象可能原因排查及解决思路重启后 Windows 引导菜单里没有新加的条目EasyBCD 写入失败或 BCD 文件被安全软件拦截以管理员身份重新运行 EasyBCD退出所有杀毒软件和安全卫士类工具后再操作选择 ISO 条目后黑屏一闪回到 WindowsSecure Boot 阻止了非签名引导器进 BIOS关闭 Secure Boot恢复引导后再重新开启GRUB 提示 file not foundISO 文件路径有空格/中文或磁盘读取异常将 ISO 放到纯英文路径核对 grub.cfg 中的路径是否完全一致引导过程极慢或卡死ISO 文件碎片化严重或放在机械硬盘边缘区域先对所在分区执行磁盘碎片整理或者在 Windows 下复制一份新文件至根目录安装程序找不到镜像ISO 文件未复制完整或下载损坏重新下载并校验 SHA256确认文件大小与官方一致进入 Linux 后触摸板/网卡驱动异常早期引导环境对硬件支持不完整先不理会正常安装完成后进入系统再安装驱动从这些情况来看免U盘方案其实不比U盘方案脆弱多少只要把文件路径、Secure Boot、分区表这三样事情理顺成功率非常高。4.2 关于 ubuntu 24.04 和 deepin 25 各自的“脾气”既然标题里点名了 ubuntu 和 deepin我分别说一下我对这两个发行版的体感帮你做选择。ubuntu 24.04 LTS 的安装器用的是 Flutter 重写的新版本界面布局变化不小但整体逻辑还是老一套。它最大的优点是社区活跃度、软件源丰富度、教程数量都是 Linux 桌面里的顶流。缺点是如果你电脑显卡比较新装完首次登录可能会碰到 Wayland 会话下的花屏或高分辨率缩放问题。我的经验是登录界面右下角选“Ubuntu on Xorg”会话稳定性立竿见影。中文输入法的话现在的 ibus 框架已经集成了智能拼音开箱即用不像早年那样还得折腾 fcitx。deepin 25 我个人觉得它在视觉上确实下了功夫界面对国内用户很友好自带的应用商店里能装到很多国产软件的原生 Linux 版比如微信、QQ、钉钉等。不过 deepin 的更新节奏比较激进偶尔能碰到小 bug比如你搜索框里输错东西导致桌面崩溃、或者升级后 docketDock 栏不显示这些基本都能靠重启桌面进程解决。它的软件源有官方源和几个镜像源切换源的操作在“控制中心 — 更新设置 — 切换镜像源”里选择国内源后下载速度会快很多。相比起来ubuntu 更适合作为长期稳定开发环境deepin 更适合追求界面美观、又想省事装国内软件的用户。双系统把两者都装上并不冲突GRUB 菜单会把你三个系统Windows ubuntu deepin整整齐齐列出来。4.3 常见问题速查表照抄即可很多人在装完双系统后遇到的问题其实高度重复我把高频问题再整理一遍方便你对照处理。问题一句话原因一句话解决装完 ubuntu 后没有 Windows 启动项快速启动锁定了 NTFS 分区os-prober 没识别进 Windows 关闭“快速启动”然后回 Linux 执行sudo update-grubWindows 重装后 ubuntu 引导丢失新装的 Windows 覆盖了 EFI 启动项用 Live 环境 chroot 重装 GRUB参考 3.2 节GRUB 里中文乱码字体未正确加载sudo apt install grub2-common sudo update-grub或更换主题deepin 启动 dock 加载失败桌面组件异常按CtrlAltF2进终端重启 lightdm 或执行rebootubuntu 安装时无法联网无线网卡固件未加载手机 USB 共享网络或装完系统后手动安装驱动装完系统时间对不上8 小时时差Windows 默认 localtimeLinux 默认 UTCLinux 下执行timedatectl set-local-rtc 1 --adjust-system-clock虚拟机里也装不上虚拟化未开启或镜像架构选错BIOS 打开 VT-x/AMD-V重新下载 amd64 镜像4.4 聊点实在的这种装法对日常使用的真实影响免U盘方案装出来的双系统和用U盘装出来的没有任何本质区别引导器、分区结构、系统文件完全是一样的。唯一的差别在于第一次引导安装的时候ISO 是从硬盘读取的速度通常比U盘还快因为硬盘的读写性能远超绝大多数U盘。但有一点要诚实告知如果你用的是那块转速 5400 的机械硬盘不管用什么方式装双系统的体验都会打折扣。GRUB 菜单加载慢、系统启动慢、软件打开慢这些不是引导方式的问题是磁盘本身到瓶颈了。所以如果你条件允许我建议把 Linux 的分区放在 SSD 上哪怕只是系统分区放在 SSD体验提升也会非常明显。另外很多人会担心免U盘方案是不是“野路子”会不会给 Windows 带来后遗症。从我这几年的实践看只要你不是每天在引导菜单里反复横跳、不是频繁强制断电Windows 引导器不会因为加了条 ISO 记录就出问题。真的出了引导故障照着 3.2 节的修复流程走一遍基本没有救不回来的。最后说个我的个人习惯每次装完系统我都会先把/etc/default/grub里的GRUB_TIMEOUT从默认的 10 秒改成 3 秒再设置成GRUB_DEFAULTsaved。这样开机不用苦苦等待菜单倒计时平时默认进 Windows偶尔想用 Linux 才手动切过去。这个小习惯不算什么高深技巧但确确实实让双系统从“折腾”变成了“随手用”。
返回列表