AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 21303
Accepted
j-g-faustus
j-g-faustus
Asked: 2011-01-13 17:30:25 +0800 CST2011-01-13 17:30:25 +0800 CST 2011-01-13 17:30:25 +0800 CST

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

  • 772

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

在遵循 Ubuntu 桌面的“创建 USB 驱动器”说明之前,我已经完成了此操作,但我没有可用的 Ubuntu 桌面。

我怎样才能只使用命令行来做同样的事情?

我尝试过的事情:

  • 按照适用于 Mac 的 ubuntu.com“创建 USB 驱动器”说明在 Mac OS X 上创建可启动 USB:不启动。
  • usb-creator: 根据apt-cache search usb-creator和维基百科,usb-creator 仅作为图形工具存在。
  • help.ubuntu.com 上的“手动创建”说明casper: ISO 映像中不存在所描述的文件和目录(例如、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 fddling:Merging information from

  • 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 系统的命令行执行此操作,所以问题仍然存在。

有谁知道怎么做?

boot
  • 7 7 个回答
  • 75747 Views

7 个回答

  • Voted
  1. aqui_c
    2011-05-18T12:56:36+08:002011-05-18T12:56:36+08:00

    你试过 #dd if=path/to/image.iso of=/dev/sd# 吗?

    • 10
  2. Best Answer
    Orvidia
    2011-03-26T06:32:00+08:002011-03-26T06:32:00+08:00

    从 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 以查找软件包。它应该工作。

    • 9
  3. Mahesh
    2012-05-27T11:17:29+08:002012-05-27T11:17:29+08:00

    让我们假设您面前只有一个提示。如果您有 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发出命令时要特别注意。

    • 5
  4. Avinash Raj
    2013-11-14T04:50:34+08:002013-11-14T04:50:34+08:00

    从终端创建可启动的 Ubuntu USB 闪存驱动器

    • 挂载ubuntu.iso文件。为此在终端中运行以下命令,

      sudo mkdir /media/iso
      sudo mount -o loop /path/to/ubuntu.iso /media/iso
      
    • 然后将所有文件复制/media/iso到您安装的 USB 闪存驱动器文件夹中/media。

      插入您的 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
      
    • 重新启动您的电脑并将boot-orderBIOS中的更改为USB。现在您的ubuntu USB闪存驱动器将启动并且您可以安装它。

    此方法适用于任何 linux 发行版,不仅适用于 ubuntu。

    • 2
  5. j-g-faustus
    2011-01-14T00:58:48+08:002011-01-14T00:58:48+08:00

    我通过使用 Ubuntu Live 桌面 CD 解决了这个特殊问题。

    通过在带有光驱的计算机上启动 Live CD,我可以使用 Ubuntu 桌面说明创建 USB 笔安装程序,而无需触及现有安装。

    • 1
  6. Jay _silly_evarlast_ Wren
    2013-02-21T11:57:36+08:002013-02-21T11:57:36+08:00

    你可以破解 usb-creator 来做到这一点。

    您应该已经有一个 vfat 分区作为 USB 设备上的分区 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
    

    如果您想在控制台上显示非常详细的消息,可以tail ~/.cache/usb-creator.log

    $ tail -f ~/.cache/usb-creator.log &
    

    现在运行那个 usb-creator-cli 脚本

    $ sudo ./usb-creator-cli
    

    并观看所有消息滚动。

    当您返回提示时,不要忘记在拉出 USB 存储设备之前卸载 /mnt。

    • 1
  7. Navaneeth Sen
    2011-01-13T18:55:11+08:002011-01-13T18:55:11+08:00

    您可以使用 Alternate Install 或 Mini iso 安装命令行 (CLI) Ubuntu(应该适合您的 512mb 存储棒)

    然后使用替代方法安装 Crunchbang:http ://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

    你也可以试试 CrunchBang 的精简版,它小于 512mb。

    您可以使用 Unetbootin 来准备 U 盘。

    • -2

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve