背景:在 VirtualBox 虚拟机中安装并配置三系统(Ubuntu、Volumio 和 Daphile)的完整过程,使用 GRUB 作为统一的引导管理器。打造多系统数播主机平台
环境准备
VirtualBox 配置:CPU: 1 核心;内存: 4G;硬盘: 30GB;网络: 桥接模式;启用 EFI 支持
所需镜像文件:
o gparted-live-1.7.0-8-amd64.iso (分区工具)
o daphile-25.05-x86_64.iso (Daphile 系统)
o ubuntu-24.04.3-live-server-amd64.iso (Ubuntu 服务器版)
o Volumio-3.832-2025-07-26-x86_amd64.img (Volumio 系统)
分区规划
使用 GParted Live ISO 进行初始分区:
1. ESP 分区: 1GB (FAT32)
2. DaphileBoot 分区: 2GB (EXT4, 标签: DaphileBoot)
3. DaphileData 分区: 2GB (EXT4, 标签: DaphileData)
4. Ubuntu 根分区: 20GB (EXT4, 在 Ubuntu 安装过程中创建)
5. Volumio 分区: 3.7GB (与 Volumio 镜像分区结构一致)
安装步骤:
初始分区
1. 将 GParted Live ISO 挂载到虚拟机的 CD-ROM
2. 启动虚拟机,进入 GParted 环境
3. 创建以下分区:
/dev/sda1: 1GB, FAT32 (ESP 分区)
/dev/sda2: 2GB, EXT4, 标签: DaphileBoot
/dev/sda3: 2GB, EXT4, 标签: DaphileData
4. 应用更改并关闭虚拟机
安装 Daphile
1. 将 Daphile ISO 挂载到虚拟机的 CD-ROM
2. 启动虚拟机,从 CD-ROM 启动进入 Daphile
3. 在宿主物理机上通过浏览器访问 Daphile 的 Web 界面
4. 在settings--->system firmware---->New Installition 中选择硬盘,将 Daphile 安装到预先创建的分区(见下图)
5. 安装完成后关闭虚拟机,此时由于没有添加引导, Daphile还无法启动使用

安装 Ubuntu
1. 将 Ubuntu Server ISO 挂载到虚拟机的 CD-ROM
2. 启动虚拟机,从 CD-ROM 启动进入 Ubuntu 安装程序
3. 在安装过程分区中使用现有的 ESP 分区 (/dev/sda1),挂载点为 /boot/efi
4. 进入shell 用 fdisk 创建新区大小为 20GB,文件系统为 EXT4, /dev/sda3
5. 刷新分区,将 /dev/sda3,挂载点为 /
6. 启用 SSH 服务器,以便后续操作
7. 完成 Ubuntu 安装
安装 Volumio
1. 启动进入 Ubuntu 系统,在宿主机配置ssh可登录虚机Ubuntu 系统
2. 将 Volumio IMG 文件传输到 Ubuntu 系统:
scp Volumio-3.832-2025-07-26-x86_amd64.img hifi@192.168.1.100:/home/hifi/
其中的hifi ip 地址根据自己情况修改
3. 查看 Volumio 镜像的分区信息:
fdisk Volumio-3.832-2025-07-26-x86_amd64.img
Disk Volumio-3.832-2025-07-26-x86_amd64.img: 3.72 GiB, 3995074560 bytes, 7802880 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6EF8545A-7196-4D26-AFAB-EB82B8D1E792
Device Start End Sectors Size Type
Volumio-3.832-2025-07-26-x86_amd64.img1 2048 352255 350208 171M EFI System
Volumio-3.832-2025-07-26-x86_amd64.img2 352256 7421951 7069696 3.4G Linux filesystem
Volumio-3.832-2025-07-26-x86_amd64.img3 7421952 7800831 378880 185M Linux filesystem
4. 为 Volumio 创建分区:
sudo fdisk /dev/sda
创建以下分区,特别注意:最好完全相同:
/dev/sda5: 171M (与镜像分区1大小相同)
/dev/sda6: 3.4G (与镜像分区2大小相同)
/dev/sda7: 185M (与镜像分区3大小相同)
5. 复制 Volumio 分区内容:
# 为镜像创建带分区的循环设备
sudo losetup -fP Volumio-3.832-2025-07-26-x86_amd64.img
# 查找分配的循环设备
losetup -a
# 复制分区(假设循环设备为 /dev/loop0)
sudo dd if=/dev/loop0p1 of=/dev/sda5 bs=4M status=progress
sudo dd if=/dev/loop0p2 of=/dev/sda6 bs=4M status=progress
sudo dd if=/dev/loop0p3 of=/dev/sda7 bs=4M status=progress
# 卸载循环设备
sudo losetup -d /dev/loop0
:
配置 GRUB 引导
1. 获取分区 UUID
记录各分区的 UUID,后续配置会用到。
root@hifi:/home/hifi# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 vfat FAT32 EC11-3983 1015.8M 1% /boot/efi
├─sda2 ext4 1.0 DaphileBoot f11bccb9-cbb0-4b10-b16e-ad0688c515e4
├─sda3 ext4 1.0 DaphileData b63a0d13-78a2-476f-93a8-539814193e8f
├─sda4 ext4 1.0 74f18c18-1671-4740-bfe8-f6e7c0a5be31 8.4G 52% /
├─sda5 vfat FAT32 boot B2D3-9A1B
├─sda6 ext4 1.0 volumio 52bdc0be-4dde-4be0-9cc0-f9fa8e84ca72
└─sda7 ext4 1.0 volumio_data 3f7c6695-1307-4caa-a726-847abf42e5cb
2. 配置 GRUB 自定义菜单
编辑 GRUB 自定义配置文件:
sudo vim /etc/grub.d/40_custom
添加以下内容(使用实际的 UUID):
menuentry "Volumio" {
insmod part_gpt
insmod fat # 加载 FAT 模块,因为 sda5 是 FAT32 分区
# 设置根设备为 Volumio 的启动分区 (sda5)
search --no-floppy --fs-uuid --set=root B2D3-9A1B
# 加载内核
echo 'Loading Volumio kernel ...'
linux /vmlinuz initramfs.clear splash plymouth.ignore-serial-consoles quiet loglevel=0 biosdevname=0 imgpart=UUID=52bdc0be-4dde-4be0-9cc0-f9fa8e84ca72 bootpart=UUID=B2D3-9A1B datapart=UUID=3f7c6695-1307-4caa-a726-847abf42e5cb hwdevice=x86 uuidconfig=syslinux.cfg,efi/BOOT/grub.cfg imgfile=/volumio_current.sqsh logo.nologo vt.global_cursor_default=0 acpi_backlight=vendor net.ifnames=0 use_kmsg=no
# 加载初始内存盘
echo 'Loading Volumio initial ramdisk ...'
initrd /volumio.initrd
}
menuentry "Daphile" {
insmod part_gpt
insmod ext2
# 设置根设备为 DaphileBoot 分区 (sda2)
search --no-floppy --fs-uuid --set=root f11bccb9-cbb0-4b10-b16e-ad0688c515e4
# 链式加载 Daphile 的 EFI 文件
chainloader /EFI/Daphile/bootx64.efi
}
3.配置 GRUB 显示设置
sudo vim /etc/default/grub
修改以下设置:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=20
# 确保以下行被注释掉
# GRUB_HIDDEN_TIMEOUT=0
4.更新 GRUB 配置,重启系统
sudo update-grub
sudo reboot
最后就是测试验证了,通过上面的操作目前虚机使用正常使用Ubuntu、Volumio 和 Daphile三个系统,在物理机上安装四个操作系统也是没有问题的,安装步骤会变成:
1.手工部分分区
2.安装windows(同时安装foobar2000d等等音频播放软件)
3.安装Daphile
4.安装Ubuntu
5.安装Volumio
6.配置启动
7.将剩余硬盘空间格式化为FAT32,可以给各个系统共享音乐文件,这样也解决的测试文件的一致性。
通过以上方式解决了Daphile(GRUB引导)、Volumio(SYSLINUX引导)独占硬盘问题。打造完美的DIY数播平台。
在整个安装过程中遇到了不少问题,在此鸣谢deepseek的支持,让安装得以圆满完成
2557

被折叠的 条评论
为什么被折叠?



