如何通过已安装的Ubuntu系统从SD卡启动Batocera系统?
如何通过已安装的Ubuntu系统从SD卡启动Batocera系统?
嘿,这个问题我碰到过类似的,给你几个靠谱的解决方案,都是在Ubuntu环境下操作的,不用跟BIOS死磕:
方法一:临时通过GRUB命令行引导Batocera
适合偶尔启动Batocera的情况,不用修改系统配置:
- 先插好SD卡,打开Ubuntu终端,输入
lsblk或者sudo fdisk -l,找到SD卡的设备名(比如/dev/mmcblk0)和它的引导分区(一般是FAT32格式,比如/dev/mmcblk0p1)。 - 重启电脑,当GRUB启动菜单出现时,按
C键进入GRUB命令行模式。 - 在命令行里依次输入以下命令(注意替换成你自己的设备信息):
insmod fat(加载FAT文件系统模块,因为Batocera的引导分区是FAT32)ls(列出所有磁盘设备,比如(hd0)是你的硬盘,(hd1)可能就是SD卡,可以用ls (hd1,1)查看分区里的文件,确认是否有boot文件夹)set root=(hdX,Y)(把X换成SD卡的编号,Y换成引导分区的编号,比如(hd1,1))linux /boot/vmlinuz root=/dev/mmcblk0p1 quiet(加载Batocera的内核,这里的内核文件名如果是zImage就换成zImage,根据你SD卡里的实际文件来)initrd /boot/initrd.gz(加载初始化镜像,文件名如果是initrd.img就对应替换)boot(启动Batocera)
方法二:把Batocera添加到GRUB启动菜单
适合经常需要启动Batocera的情况,一劳永逸:
- 插好SD卡,先挂载它的引导分区:
这里的sudo mkdir /mnt/batocera sudo mount /dev/mmcblk0p1 /mnt/batocera/dev/mmcblk0p1换成你实际的SD卡引导分区。 - 编辑GRUB的自定义配置文件:
sudo nano /etc/grub.d/40_custom - 在文件末尾添加以下内容(同样替换成你的设备信息):
保存退出:按menuentry "Batocera 游戏系统(SD卡)" { insmod fat set root=(hdX,Y) linux /boot/vmlinuz root=/dev/mmcblk0p1 quiet splash initrd /boot/initrd.gz }Ctrl+O,回车确认,再按Ctrl+X。 - 更新GRUB配置,让新的启动项生效:
下次重启电脑时,GRUB菜单里就会出现Batocera的选项,直接选择就能启动了。sudo update-grub
方法三:克隆SD卡到U盘(适合BIOS支持USB启动的情况)
如果上面的GRUB引导有问题,你可以把整个SD卡的内容克隆到U盘,用U盘直接启动:
- 插好SD卡和空U盘,用
lsblk确认两者的设备名(比如SD卡是/dev/mmcblk0,U盘是/dev/sdb,千万不要写错设备名,否则会覆盖硬盘数据!) - 执行克隆命令:
这个命令会把SD卡的所有内容完整复制到U盘,克隆完成后,你就可以用U盘启动Batocera了,完全不用经过Ubuntu。sudo dd if=/dev/mmcblk0 of=/dev/sdb bs=4M status=progress
注意事项
- 操作前请备份SD卡和U盘中的重要数据,避免意外丢失。
- 用
lsblk或fdisk -l确认设备名时,一定要注意区分SD卡、U盘和系统硬盘,别搞混了!
备注:内容来源于stack exchange,提问作者dierre
相关产品推荐
相关产品推荐

