问题描述
我正在尝试创建一个可启动的 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 映像中不存在描述的文件和目录(例如
casper
、filesystem.manifest
、menu.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.