在USB-HDD上安装Ubuntu并实现插拔后自动切换至Windows系统
在USB-HDD上安装Ubuntu并实现插拔后自动切换至Windows系统
嗨,这个需求我太熟了!之前帮好几个朋友搞定过类似的场景,说白了就是要把Ubuntu的整个引导和系统都放在外置硬盘上,不碰内置硬盘的Windows引导,这样插拔硬盘就能无缝切换。咱们一步步来,保证你能搞定:
一、安装前的准备工作
- 准备一块至少32GB的外置USB硬盘(优先选固态,读写速度快体验好),提前把上面的数据备份干净——安装过程会格式化整个硬盘,别心疼数据!
- 下载对应版本的Ubuntu ISO镜像,用Rufus或者Ubuntu官方的Startup Disk Creator做一个可引导的安装U盘(就用普通的小U盘就行,不用大的)。
- 进Windows的BIOS/UEFI设置(一般开机按F2、Del或者Esc,看电脑品牌),确认能识别USB设备,并且关闭Secure Boot(不少电脑开着这个没法引导Ubuntu)。
二、把Ubuntu安装到外置硬盘
- 把安装U盘和你的目标外置硬盘都插好,重启电脑,从安装U盘引导(开机时按引导选择键,比如F12,选那个带USB标识的选项)。
- 进入Ubuntu安装界面,一路选语言、键盘布局,到**“安装类型”这一步的时候,一定要选“其他选项”**——绝对别选默认的“与Windows共存”,那样会把引导装到内置硬盘里,就达不到插拔切换的效果了。
- 到分区界面,先找准你的外置硬盘(看容量大小区分,比如/dev/sdb,千万别选错内置硬盘/dev/sda!):
- 先创建EFI分区(如果是UEFI启动的电脑):分200MB左右,选“主分区”,位置“起始”,用途选“EFI系统分区”。
- 再创建根分区:把剩下的大部分空间全部分配,选“主分区”,位置“起始”,文件系统选“Ext4日志文件系统”,挂载点设为
/。 - 重中之重!在“安装启动引导器的设备”下拉菜单里,一定要选你刚才创建的外置硬盘的EFI分区(比如/dev/sdb1),或者直接选整个外置硬盘(/dev/sdb)——绝对不能选内置硬盘的任何分区!这是实现插拔自由的核心。
- 剩下的步骤就是设置用户名密码,等着安装完成就行,重启电脑。
三、调整GRUB实现自动切换
- 第一次重启记得插着外置硬盘,让系统从Ubuntu引导进入系统。接下来我们要调一下GRUB引导菜单,让它默认优先Windows,同时拔掉硬盘后自动回到Windows引导:
- 打开终端,输入
sudo nano /etc/default/grub编辑GRUB配置文件。 - 找到
GRUB_DEFAULT=0这一行,改成GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"——这里的/dev/sda1是你内置硬盘的EFI分区,要是不确定,先输sudo update-grub,它会列出所有可引导的系统,你照着抄Windows那行的名称就行。 - 再把
GRUB_TIMEOUT=10改成GRUB_TIMEOUT=3,缩短等待时间,体验更流畅。 - 按Ctrl+O保存,Ctrl+X退出,然后输入
sudo update-grub更新配置。
- 打开终端,输入
四、一些避坑提醒
- 如果不小心把引导装到了内置硬盘,拔掉外置硬盘后可能会出现引导错误。别慌,进Windows用修复工具:插个Windows安装U盘,进修复模式,选“疑难解答”->“高级选项”->“命令提示符”,依次输入
bootrec /fixmbr、bootrec /fixboot、bootrec /scanos、bootrec /rebuildbcd就能修复Windows引导。 - 大部分现代电脑不用特意改BIOS启动优先级,插着外置硬盘时会优先识别它的引导,拔掉就自动切回内置硬盘的Windows,要是你的电脑不行,就进BIOS把外置硬盘设为第一启动项就行。
- 要是遇到Ubuntu引导找不到Windows的情况,进Ubuntu终端输
sudo update-grub,它会自动扫描并添加Windows引导项。
备注:内容来源于stack exchange,提问作者Freenz




