创建USB安装程序以从命令行安装Ubuntu?
我正在尝试创建一个可启动的USB映像,以便在新计算机上安装Ubuntu。
我在遵循Ubuntu桌面的“ 创建USB驱动器 ”说明之前已经这样做了,但我没有可用的Ubuntu桌面。
如何仅使用命令行执行相同操作?
我尝试过的事情:
- 按照适用于Mac的ubuntu.com“创建USB驱动器”说明在Mac OS X上创建可启动USB:无法启动。
-
usb-creator
:根据apt-cache search usb-creator
和Wikipedia 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摆弄:合并来自的信息
- pendrivelinux.com
- 关于Linux Stackexchange的相关问题
- 和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系统的命令行中做到这一点,所以问题仍然存在。
有谁知道怎么样?
从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以获取软件包。 它应该工作。
您是否尝试使用dd if=path/to/image.iso of=/dev/sd#
?
让我们假设你面前只有一个提示。 如果您有GUI,则可以打开终端并执行此处描述的所有操作。 或者你可以使用tty。
警告:
为避免潜在的损坏,请非常仔细地按照说明进行操作。
-
通过输入
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
命令时要特别注意。
从终端创建可启动的Ubuntu USB闪存驱动器
-
挂载
ubuntu.iso
文件。为此运行以下命令在终端中,sudo mkdir /media/iso sudo mount -o loop /path/to/ubuntu.iso /media/iso
-
然后将
/media/iso
所有文件复制到/media/iso
安装的usb闪存驱动器文件夹中。插入USB闪存盘。
每当你插入它时它都会自动挂载。你的usb分区必须安装在
/media
里面。让我们假设你的usb驱动器安装在/media/xxxx
夹里。然后运行下面的命令,cp -a /media/iso/. /media/xxx
运行
lsblk
命令以了解usb设备分区。 -
然后将
ldlinux.sys
文件粘贴到USB闪存驱动器分区(在我的情况下为/ dev / sdd1 )中以使usb可启动 。为此运行以下命令,sudo apt-get install syslinux mtools syslinux -s /dev/sdd1
-
进入
/media/xxx
文件夹并将isolinux
目录重命名为syslinux
。然后进入重命名的syslinux文件夹并将文件isolinux.cfg
重命名为syslinux.cfg
。mv /media/xxx/isolinux /media/xxx/syslinux mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
-
重新启动你的电脑并将bios中的
boot-order
更改为USB。现在你的ubuntu usb闪存驱动器将启动,你可以安装它。
此方法适用于任何Linux发行版,而不仅仅适用于ubuntu。
我使用Ubuntu Live桌面CD解决了这个特殊问题。
通过在带有光驱的计算机上启动Live CD,我可以使用Ubuntu桌面说明创建USB笔安装程序,而无需触及现有安装。
你可以破解usb-creator来做到这一点。
你应该在usb设备上已经有一个单独的vfat分区作为分区1(usb-creator-gtk的擦除磁盘步骤就是这样),它应该被标记为可引导的。
接下来,我们将获得usb-creator python代码来帮助我们。
$ sudo apt-get install usb-creator
要么
$ bzr branch lp:usb-creator
创建一个包含此内容的文件,并将其命名为usb-creator-cli,如果您在最后一步中使用bzr,请将此文件放在usb-creator目录(bzr分支的根目录)中
#!/usr/bin/env python from __future__ import print_function from usbcreator.misc import sane_path, setup_gettext, setup_logging, text_type from usbcreator.install import install sane_path() setup_logging() setup_gettext() #/dev/sdb1 should be mounted on /mnt #iso should be mounted to /iso dev = '/dev/sdb1' source = '/iso' target = '/mnt' ugh = install(source, target, False, device=dev) ugh.success = print ugh.failure = print ugh.progress = print ugh.progress_message = print ugh.progress_pulse = print ugh.progress_pulse_stop = print ugh.retry = print ugh.run()
使其可执行
$ chmod +x usb-creator-cli
现在将iso挂载到/ iso并将usb设备挂载到/ mnt
$ sudo mkdir /iso ; sudo mount ubuntu-server-12.10-amd64.iso /iso $ sudo mount /dev/sdb1 /mnt
如果您想在控制台上发送非常详细的消息,可以拖尾〜/ .cache / usb-creator.log
$ tail -f ~/.cache/usb-creator.log &
现在运行usb-creator-cli脚本
$ sudo ./usb-creator-cli
并观看滚动的所有消息。
当您返回提示时,请不要忘记在取出USB存储设备之前卸载/ mnt。
你可以使用Alternate Install或Mini iso安装命令行(CLI)Ubuntu(它应该适合你的512mb棒)
然后使用备用方法安装Crunchbang: http ://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/
您还可以尝试CrunchBang的Lite版本,小于512mb。
您可以使用Unetbootin准备USB记忆棒。