我正在尝试创建可启动的USB映像,以在新计算机上安装Ubuntu。
在按照Ubuntu桌面的“ 创建USB驱动器 ”说明进行操作之前,我已经完成了此操作,但是我没有可用的Ubuntu桌面。
如何仅使用命令行执行相同操作?
我尝试过的事情:
- 按照ubuntu.com针对Mac的“创建USB驱动器”说明在Mac OS X上创建可引导USB:不引导。
usb-creator
:根据apt-cache search usb-creator
和Wikipedia,usb-creator仅作为图形工具存在。- “手动创建”说明在help.ubuntu.com:文件和目录都没有描述(例如
casper
,filesystem.manifest
,menu.lst
)存在的ISO映像中,我不知道是什么取代了它们。 - unetbootin脚本:即使完全编写脚本,也需要X服务器(图形支持)才能运行。(该命令
sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes
给出一条错误消息unetbootin: cannot connect to X server
。)
更新资料
还尝试了GRUB摆弄:合并来自
我能够到达一半-它从USB启动,显示了grub菜单并开始安装,但是安装未完成。
作为参考,这是我最近得到的:
sudo su
# mount USB pen
mount /dev/sd[X]1 /media/usb
# install GRUB
grub-install --force --no-floppy --root-directory=/media/usb /dev/sd[X]
# copy ISO image to USB
cp ~/ubuntu-10.10-server-amd64.iso /media/usb
# mount ISO image, copy existing grub.cfg
mount ~/ubuntu-10.10-server-amd64.iso /media/iso/ -o loop
cp /media/iso/boot/grub/grub.cfg /media/usb/boot/grub/
然后/media/usb/boot/grub.cfg
,我编辑以添加.iso回送,例如grub条目:
menuentry "Install Ubuntu Server" {
set gfxpayload=keep
loopback loop /ubuntu-10.10-server-amd64.iso
linux (loop)/install/vmlinuz file=(loop)/preseed/ubuntu-server.seed iso-scan/filename=/ubuntu-10.10-server-amd64.iso quiet --
initrd (loop)/install/initrd.gz
}
从USB引导时,这将为我提供Grub引导菜单并启动安装程序,但在几个屏幕抱怨找不到CD-ROM驱动器后,安装程序放弃了。(自然,因为我要安装的盒子没有光驱。)
我通过放弃并使用Ubuntu Live桌面CD(在具有光驱的计算机上)执行“创建USB驱动器”例程来解决此特定问题,然后USB安装就可以了。
但是我希望有某种方法可以从没有X服务器且没有光驱的Ubuntu系统的命令行中执行此操作,因此问题仍然存在。
有人知道吗?
unetbootin: cannot connect to X server
即使完全编写了脚本(unetbootin lang=en method=diskimage isofile=/srv/share/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes
),似乎也需要X ,而我宁愿保持无头。不过,谢谢你的小费;如果我用完了其他选件,则可以安装X。
dd
。它是一颗宝石。不能说足够。每个Linux发行版都有dd
; 因此您拥有一个通用的解决方案,无需编写脚本/编写/配置。只是一条漂亮的线。
grub.cfg
项需要说file=/cdrom/preseed/ubuntu-server.seed
上linux
线(不是file=(loop)/preseed/ubuntu-server.seed
),以避免致命的“无法检索预配置文件”一旦CD映像已成功检测到的错误。