当前位置: 首页>>技术教程>>正文


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

, , , ,

问题描述

我正在尝试创建一个可启动的 USB 映像以在新计算机上安装 Ubuntu。

我在遵循 Ubuntu 桌面的“create USB drive”说明之前已经这样做了,但我没有可用的 Ubuntu 桌面。

如何仅使用命令行执行相同操作?

我尝试过的事情:

  • 按照适用于 Mac 的 ubuntu.com“创建 USB 驱动器”说明在 Mac OS X 上创建可启动 USB:不启动。

  • usb-creator :根据 apt-cache search usb-creator 和维基百科 usb-creator 仅作为图形工具存在。

  • help.ubuntu.com 上的 “Create manually” instructions:ISO 映像中不存在描述的文件和目录(例如 casperfilesystem.manifestmenu.lst ),我不知道是什么替换了它们。

  • unetbootin scripting :需要 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 摆弄:Merging information from

我能够做到一半 – 它从 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 系统的命令行中做到这一点,所以问题仍然存在。

有谁知道怎么做?

最佳方案

您是否尝试过 #dd if=path/to/image.iso of=/dev/sd#

次佳方案

When booting from USB, this would give me the Grub boot menu and start the installer, but the installer gave up after a couple of screens complaining that it couldn’t find the CD-ROM drive.

这是 ubuntu 服务器 iso 的一个已知错误(桌面 iso 工作得很好),但是有一个修复程序可以从 USB 驱动器上的 iso 获取包:一旦在安装程序上,Ctrl+Alt+f2 打开一个 tty 并在终点站:

mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0

然后切换回安装程序并重新尝试扫描 cd 以查找软件包。它应该工作。

第三种方案

让我们假设您面前只有一个提示。如果您有 GUI,则可以打开终端并执行此处描述的所有操作。或者您可以使用 tty。

WARNING:
To avoid potential damage, follow the instructions very very carefully.

  • 通过键入 sudo su 切换到根提示 检测 USB 是什么设备。

  • tail -f /var/log/syslog

您现在可以在 syslog 中查看实时视图。插入你的 U 盘。您应该会在屏幕上看到一些消息。像这样的东西。

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

Warning:

This will erase the entire USB disk. Backup before proceed.

  • 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 等等。

Warning:

Typing a drive letter wrong will result in permanent data loss on a different drive. Pay extra attention while issuing dd command.

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12183.html,未经允许,请勿转载。