创建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映像中不存在所描述的文件和目录(例如casperfilesystem.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摆弄:合并来自的信息

  • 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记忆棒。