创建 USB 安装程序以从命令行安装 Ubuntu?

创建 USB 安装程序以从命令行安装 Ubuntu?

我正在尝试创建可启动的 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.manifestmenu.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 笔安装程序,而无需触及现有安装。

相关内容