我正在尝试创建可启动的 USB 映像以便在新计算机上安装 Ubuntu。
我之前已经按照“创建 USB 驱动器“Ubuntu 桌面的说明,但我没有可用的 Ubuntu 桌面。
我怎样才能仅使用命令行执行相同的操作?
我尝试过的事情:
- 按照 ubuntu.com 上针对 Mac 的“创建 USB 驱动器”说明,在 Mac OS X 上创建可启动 USB:无法启动。
usb-creator
:根据apt-cache search usb-creator
维基百科,usb-creator 仅作为图形工具存在。- “手动创建”说明在 help.ubuntu.com:ISO 映像中不存在所描述的文件和目录(例如
casper
,,filesystem.manifest
)menu.lst
,我不知道用什么替换了它们。 - 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 系统的命令行执行此操作,所以问题仍然存在。
有人知道怎么做吗?
答案1
您尝试过用#吗dd if=path/to/image.iso of=/dev/sd#
?
答案2
从 USB 启动时,这会给我 Grub 启动菜单并启动安装程序,但是安装程序在出现几个屏幕并抱怨找不到 CD-ROM 驱动器后就放弃了。
这是 ubuntu 服务器 iso 的一个已知错误(桌面 iso 工作正常),但有一个修复方法可以从 usb 驱动器上的 iso 获取软件包:进入安装程序后,按 Ctrl+Alt+f2 打开 tty 并在终端中:
mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0
然后切换回安装程序并重试扫描 CD 中的软件包。它应该可以工作。
答案3
假设您面前只有一个提示符。如果您有 GUI,您可以打开终端并执行此处描述的所有操作。或者您可以使用 tty。
警告:
为了避免潜在的损害,请非常小心地遵循说明。
通过输入切换到 root 提示符
sudo su
检测 USB 是什么设备。
tail -f /var/log/syslog
您现在可以实时查看 syslog。插入您的 USB 驱动器。您应该会在屏幕上看到一些消息。类似这样的消息。
May 27 00:35:07 Mahesh kernel: [ 5054.646585] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
May 27 00:35:07 Mahesh kernel: [ 5054.741437] scsi8 : usb-storage 2-1.1:1.0
May 27 00:35:07 Mahesh mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
May 27 00:35:07 Mahesh mtp-probe: bus: 2, device: 5 was not an MTP device
May 27 00:35:08 Mahesh kernel: [ 5055.739177] scsi 8:0:0:0: Direct-Access JetFlash TS2GJFV30 8.07 PQ: 0 ANSI: 2
May 27 00:35:08 Mahesh kernel: [ 5055.740198] sd 8:0:0:0: Attached scsi generic sg3 type 0
May 27 00:35:08 Mahesh kernel: [ 5055.741593] sd 8:0:0:0: [sdc] 4005888 512-byte logical blocks: (2.05 GB/1.91 GiB)
May 27 00:35:08 Mahesh kernel: [ 5055.742214] sd 8:0:0:0: [sdc] Write Protect is off
May 27 00:35:08 Mahesh kernel: [ 5055.742218] sd 8:0:0:0: [sdc] Mode Sense: 03 00 00 00
May 27 00:35:08 Mahesh kernel: [ 5055.742712] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.742715] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.745326] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.745329] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.781564] sdc: sdc1
May 27 00:35:08 Mahesh kernel: [ 5055.784191] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.784196] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.784200] sd 8:0:0:0: [sdc] Attached SCSI removable disk
看看它,并找到方括号中重复的内容?sdc
在本例中。把它记在一张纸上。输入Ctrl+C以进入提示。
找到要刻录到 USB 上的 ISO 文件。
如果 iso 文件位于/path/to/iso/somecd.iso
;请在纸上记下此路径。
写入 USB
警告:
这会擦除整个 USB 磁盘。继续操作前请先备份。
dd if=/path/to/iso/somecd.iso of=/dev/sdc ibs=20M obs=20M
替换/path/to/iso/somecd.iso
为您的 iso 文件的实际路径。
用您之前记下的内容进行替换/dev/sdc
。如果重复部分是sdb
;则使用/dev/sdb
等等。
警告:
输入错误的驱动器号将导致其他驱动器上的数据永久丢失。发出
dd
命令时要格外小心。
答案4
我使用 Ubuntu Live 桌面 CD 解决了这个特殊问题。
通过在带有光驱的计算机上启动 Live CD,我可以使用 Ubuntu 桌面说明来创建 USB 笔安装程序,而无需触及现有安装。