标签 ISO 下的文章

你好,新兵!你们有些人经常使用 dd 命令做各种各样的事,比如创建 USB 启动盘或者克隆硬盘分区。不过请牢记,dd 是一个危险且有毁灭性的命令。如果你是个 Linux 的新手,最好避免使用 dd 命令。如果你不知道你在做什么,你可能会在几分钟里把硬盘擦掉。从原理上说,dd 只是从 if 读取然后写到 of 上。它才不管往哪里写呢。它根本不关心那里是否有分区表、引导区、家目录或是其他重要的东西。你叫它做什么它就做什么。可以使用像 Etcher 这样的用户友好的应用来代替它。这样你就可以在创建 USB 引导设备之前知道你将要格式化的是哪块盘。

今天,我发现了另一个可以安全创建 USB 引导设备的工具 Bootiso 。它实际上是一个 BASH 脚本,但真的很智能!它有很多额外的功能来帮我们安全创建 USB 引导盘。如果你想确保你的目标是 USB 设备(而不是内部驱动器),或者如果你想检测 USB 设备,你可以使用 Bootiso。下面是使用此脚本的显著优点:

  • 如果只有一个 USB 驱动器,Bootiso 会自动选择它。
  • 如果有一个以上的 USB 驱动器存在,它可以让你从列表中选择其中一个。
  • 万一你错误地选择一个内部硬盘驱动器,它将退出而不做任何事情。
  • 它检查选定的 ISO 是否具有正确的 MIME 类型。如果 MIME 类型不正确,它将退出。
  • 它判定所选的项目不是分区,如果判定失败则退出。
  • 它将在擦除和对 USB 驱动器分区之前提示用户确认。
  • 列出可用的 USB 驱动器。
  • 安装 syslinux 引导系统 (可选)。
  • 自由且开源。

使用 Bootiso 安全地创建 USB 驱动器

安装 Bootiso 非常简单。用这个命令下载最新版本:

$ curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O

把下载的文件加到 $PATH 目录中,比如 /usr/local/bin/

$ sudo cp bootiso /usr/local/bin/

最后,添加运行权限:

$ sudo chmod +x /usr/local/bin/bootiso

搞定!现在就可以创建 USB 引导设备了。首先,让我们用命令看看现在有哪些 USB 驱动器:

$ bootiso -l

输出:

Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE TYPE
sdb 1 7.5G running disk

如你所见,我只有一个 USB 驱动器。让我们继续通过命令用 ISO 文件创建 USB 启动盘:

$ bootiso bionic-desktop-amd64.iso

这个命令会提示你输入 sudo 密码。输入密码并回车来安装缺失的组件(如果有的话),然后创建 USB 启动盘。

输出:

[...]
Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE TYPE
sdb 1 7.5G running disk
Autoselecting `sdb' (only USB device candidate)
The selected device `/dev/sdb' is connected through USB.
Created ISO mount point at `/tmp/iso.c5m'
`bootiso' is about to wipe out the content of device `/dev/sdb'.
Are you sure you want to proceed? (y/n)>y
Erasing contents of /dev/sdb...
Creating FAT32 partition on `/dev/sdb1'...
Created USB device mount point at `/tmp/usb.QgV'
Copying files from ISO to USB device with `rsync'
Synchronizing writes on device `/dev/sdb'
`bootiso' took 303 seconds to write ISO to USB device with `rsync' method.
ISO succesfully unmounted.
USB device succesfully unmounted.
USB device succesfully ejected.
You can safely remove it !

如果你的 ISO 文件 MIME 类型不对,你会得到下列错误信息:

Provided file `bionic-desktop-amd64.iso' doesn't seem to be an iso file (wrong mime type: `application/octet-stream').
Exiting bootiso...

当然,你也能像下面那样使用 –no-mime-check 选项来跳过 MIME 类型检查。

$ bootiso --no-mime-check bionic-desktop-amd64.iso

就像我前面提到的,如果系统里只有 1 个 USB 设备 Bootiso 将自动选中它。所以我们不需要告诉它 USB 设备路径。如果你连接了多个设备,你可以像下面这样使用 -d 来指明 USB 设备。

$ bootiso -d /dev/sdb bionic-desktop-amd64.iso

用你自己的设备路径来换掉 /dev/sdb

在多个设备情况下,如果你没有使用 -d 来指明要使用的设备,Bootiso 会提示你选择可用的 USB 设备。

Bootiso 在擦除和改写 USB 盘分区前会要求用户确认。使用 -y–assume-yes 选项可以跳过这一步。

$ bootiso -y bionic-desktop-amd64.iso

您也可以把自动选择 USB 设备与 -y 选项连用,如下所示。

$ bootiso -y -a bionic-desktop-amd64.iso

或者,

$ bootiso?--assume-yes?--autoselect bionic-desktop-amd64.iso

请记住,当你只连接一个 USB 驱动器时,它才会起作用。

Bootiso 会默认创建一个 FAT 32 分区,挂载后用 rsync 程序把 ISO 的内容拷贝到 USB 盘里。 如果你愿意也可以使用 dd 代替 rsync

$ bootiso --dd -d /dev/sdb bionic-desktop-amd64.iso

如果你想增加 USB 引导的成功概率,请使用 -b–bootloader 选项。

$ bootiso -b bionic-desktop-amd64.iso

上面这条命令会安装 syslinux 引导程序(安全模式)。注意,此时 –dd 选项不可用。

在创建引导设备后,Bootiso 会自动弹出 USB 设备。如果不想自动弹出,请使用 -J–no-eject 选项。

$ bootiso -J bionic-desktop-amd64.iso

现在,USB 设备依然连接中。你可以使用 umount 命令随时卸载它。

需要完整帮助信息,请输入:

$ bootiso -h

好,今天就到这里。希望这个脚本对你有帮助。好货不断,不要走开哦!


via: https://www.ostechnix.com/bootiso-lets-you-safely-create-bootable-usb-drive/

作者:SK 选题:lujun9972 译者:kennethXia 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

假设你的 Linux 服务器上有一个超大的 ISO 镜像文件,你想要打开它,然后提取或者复制其中的一个文件。你会怎么做呢?

其实在 Linux 系统里,有很多方法来实现这个要求。

比如说,你可以使用传统的 mount 命令以只读方式把 ISO 镜像文件加载为 loop 设备,然后再把文件复制到另一个目录。

在 Linux 系统下提取 ISO 镜像文件

为了完成该测试,你得有一个 ISO 镜像文件(我使用 ubuntu-16.10-server-amd64.iso 系统镜像文件)以及用于挂载和提取 ISO 镜像文件的目录。

首先,使用如下命令创建一个挂载目录来挂载 ISO 镜像文件:

$ sudo mkdir /mnt/iso

目录创建完成后,你就可以运行如下命令很容易地挂载 ubuntu-16.10-server-amd64.iso 系统镜像文件,并查看其中的内容。

$ sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso
$ ls /mnt/iso/

Mount ISO File in Linux

在 Linux 系统里挂载 ISO 镜像

现在你就可以进入到挂载目录 /mnt/iso 里,查看文件或者使用 cp 命令把文件复制到 /tmp 目录了。

$ cd /mnt/iso
$ sudo cp md5sum.txt /tmp/
$ sudo cp -r ubuntu /tmp/

Copy Files From ISO File in Linux

在 Linux 系统中复制 ISO 镜像里的文件

注意:-r 选项用于递归复制目录里的内容。如有必要,你也可以监控复制命令的完成进度

使用 7zip 命令提取 ISO 镜像里的内容

如果不想挂载 ISO 镜像,你可以简单地安装一个 7zip 工具,这是一个自由而开源的解压缩软件,用于压缩或解压不同类型格式的文件,包括 TAR、XZ、GZIP、ZIP、BZIP2 等等。

$ sudo apt-get install p7zip-full p7zip-rar [On Debian/Ubuntu systems]
$ sudo yum install p7zip p7zip-plugins      [On CentOS/RHEL systems]

7zip 软件安装完成后,你就可以使用7z 命令提取 ISO 镜像文件里的内容了。

$ 7z x ubuntu-16.10-server-amd64.iso

7zip - Extract ISO File Content in Linux

使用 7zip 工具在 Linux 系统下提取 ISO 镜像里的文件

注意:跟 Linux 的 mount 命令相比起来,7zip 在压缩和解压缩任何格式的文件时速度更快,更智能。

使用 isoinfo 命令来提取 ISO 镜像文件内容

虽然 isoinfo 命令是用来以目录的形式列出 iso9660 镜像文件的内容,但是你也可以使用该程序来提取文件。

我说过,isoinfo 程序会显示目录列表,因此先列出 ISO 镜像文件的内容。

$ isoinfo -i ubuntu-16.10-server-amd64.iso -l

List ISO Content in Linux

Linux 里列出 ISO 文件的内容

现在你可以按如下的方式从 ISO 镜像文件中提取单文件:

$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT

注意:因为 -x 解压到标准输出,必须使用重定向来提取指定文件。

Extract Single File from ISO in Linux

从 ISO 镜像文件中提取单个文件

就到这里吧,其实还有很多种方法来实现这个要求,如果你还知道其它有用的命令或工具来提取复制出 ISO 镜像文件中的文件,请在下面的评论中跟大家分享下。


via: http://www.tecmint.com/extract-files-from-iso-files-linux

作者:Ravi Saive 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

大多数 Linux 发行版都会提供一个可以从 USB 启动的 live 环境,以便用户无需安装即可测试系统。我们可以用它来评测这个发行版或仅仅是当成一个一次性系统,并且很容易将这些文件复制到一个 U 盘上,在某些情况下,我们可能需要经常运行同一个或不同的 ISO 镜像。GRUB 2 可以配置成直接从启动菜单运行一个 live 环境,而不需要烧录这些 ISO 到硬盘或 USB 设备。

获取和检查可启动的 ISO 镜像

为了获取 ISO 镜像,我们通常应该访问所需的发行版的网站下载与我们架构兼容的镜像文件。如果这个镜像可以从 U 盘启动,那它也应该可以从 GRUB 菜单启动。

当镜像下载完后,我们应该通过 MD5 校验检查它的完整性。这会输出一大串数字与字母合成的序列。

将这个序列与下载页提供的 MD5 校验码进行比较,两者应该完全相同。

配置 GRUB 2

ISO 镜像文件包含了整个系统。我们要做的仅仅是告诉 GRUB 2 哪里可以找到 kernel 和 initramdisk 或 initram 文件系统(这取决于我们所使用的发行版)。

在下面的例子中,一个 Kubuntu 15.04 live 环境将被配置到 Ubuntu 14.04 机器的 Grub 启动菜单项。这应该能在大多数新的以 Ubuntu 为基础的系统上运行。如果你是其它系统并且想实现一些其它的东西,你可以从这些文件了解更多细节,但这会要求你拥有一点 GRUB 使用经验。

这个例子的文件 kubuntu-15.04-desktop-amd64.iso 放在位于 /dev/sda1/home/maketecheasier/TempISOs/ 上。

为了使 GRUB 2 能正确找到它,我们应该编辑

/etc/grub.d40-custom

menuentry "Kubuntu 15.04 ISO" {
set isofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
echo "Starting $isofile..."
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}

分析上述代码

首先设置了一个变量名 $menuentry ,这是 ISO 文件的所在位置 。如果你想换一个 ISO ,你应该修改 isofile="/path/to/file/name-of-iso-file-.iso".

下一行是指定回环设备,且必须给出正确的分区号码。

loopback loop (hd0,1)$isofile

注意 hd0,1 这里非常重要,它的意思是第一硬盘,第一分区 (/dev/sda1)。

GRUB 的命名在这里稍微有点困惑,对于硬盘来说,它从 “0” 开始计数,第一块硬盘为 #0 ,第二块为 #1 ,第三块为 #2 ,依此类推。但是对于分区来说,它从 “1” 开始计数,第一个分区为 #1 ,第二个分区为 #2 ,依此类推。也许这里有一个很好的原因,但肯定不是明智的(明显用户体验很糟糕)..

在 Linux 中第一块硬盘,第一个分区是 /dev/sda1 ,但在 GRUB2 中则是 hd0,1 。第二块硬盘,第三个分区则是 hd1,3, 依此类推.

下一个重要的行是:

linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash

这会载入内核镜像,在新的 Ubuntu Live CD 中,内核被存放在 /casper 目录,并且命名为 vmlinuz.efi 。如果你使用的是其它系统,可能会没有 .efi 扩展名或内核被存放在其它地方 (可以使用归档管理器打开 ISO 文件在 /casper 中查找确认)。最后一个选项, quiet splash ,是一个常规的 GRUB 选项,改不改无所谓。

最后

initrd (loop)/casper/initrd.lz

这会载入 initrd ,它负责载入 RAMDisk 到内存用于启动。

启动 live 系统

做完上面所有的步骤后,需要更新 GRUB2:

sudo update-grub

当重启系统后,应该可以看见一个新的、并且允许我们启动刚刚配置的 ISO 镜像的 GRUB 条目:

选择这个新条目就允许我们像从 DVD 或 U 盘中启动一个 live 环境一样。


via: https://www.maketecheasier.com/run-iso-files-hdd-grub2/

作者:Attila Orosz 译者:Locez 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

经常有新接触 Linux 的同学问,“Linux 从哪里下载啊?”这种问题,对于熟手来说要么不屑一提,要么就引来了各种 Linux 发行版之争,让初学者无所适从。

其实,对于新接触 Linux 的人来说,很多人都不知道 “Linux” 原来不是一个!而是有林林总总上千种发行版,甚至你乐意的话,都可以制作发行自己的发行版。而各种不同的发行版也各有特色,还层出不穷的推出新版本。这简直让初学者如置身森林,茫然不知所措~

所以,这里我整理了一份最新、最热的 Linux 发行版的下载链接,可以让初学者能够快速领略到 Linux 的风采。

简单的来说,Linux 是以 Linux 内核 Kernel 为基础,集成了各种开源软件、和/或商业软件的一个操作系统。这个将各个组件整合成一个完整的操作系统过程就称之为“制作发行版”,因此,不同的组织/公司和个人就可以制作各具特色的、可以安装或运行的操作系统的软件包——通常是 ISO 镜像——可以刻录到光盘、写入到 USB 启动盘、或者直接通过 ISO 文件来安装/运行。

一般来说,初接触 Linux,从桌面版开始比较好,几个主流的发行版,都可以尝试一下,如 Ubuntu、Debian、Fedora、CentOS、openSUSE 等;而 Linux 的一个重要领域——服务器领域——可以在你对 Linux 有了初步认识之后,再来学习和了解。当然,往往一个 Linux 发行版会同时发布桌面版和服务器版,其使用习惯也相近,所以熟悉桌面版之后,对使用和维护其相应的服务器版本会更容易一些。

好了,言归正传,您可以从下面挑个顺眼的下载安装试试了,建议你各种都体验下,最后你会选定一个适合你的!

Ubuntu

是当前最流行的 Linux 发行版之一,是 Debian Linux 的主要衍生版本,用户众多,以桌面系统所著称,适于刚刚接触 Linux 的初学者。

对于新手,安装 Ubuntu 可以参考《新手指南: 手把手教你安装 Ubuntu 和 Fedora》。

16.04.2 LTS

桌面版本可以从此下载:http://www.ubuntu.com/download/desktop

  • Intel & AMD/ 兼容 PC 64 位 点此下载
    (MD5: 1400884cec8e40a1a876b2678f81494b)
  • Intel & AMD/ 兼容 PC 32 位 点此下载
    (MD5: e14b5f2177b00dac3edc94b0e806f857)

服务器版本可以从此下载:http://www.ubuntu.com/download/server

  • Intel & AMD/ 兼容 PC 64 位 点此下载
    (MD5: 2bce60d18248df9980612619ff0b34e6)
  • Intel & AMD/ 兼容 PC 32 位 点此下载
    (MD5: c32ba78bf6bdae6627b1e717d33eb7ae)

17.04

桌面版本可以从此下载:http://www.ubuntu.com/download/desktop

  • Intel & AMD/ 兼容 PC 64 位 点此下载
    (MD5: 18cc54af55d7ca931bbb8588e8d9c1bd)
  • Intel & AMD/ 兼容 PC 32 位 点此下载
    (MD5: eb6c4ea889f5ab44f77c9d1cde6a8818)

服务器版本可以从此下载:http://www.ubuntu.com/download/server

  • Intel & AMD/ 兼容 PC 64 位 点此下载
    (MD5: 4672ce371fb3c1170a9e71bc4b2810b9)
  • Intel & AMD/ 兼容 PC 32 位 点此下载
    (MD5: 8e82de7efa4b1bf159b4be325e952eb1)

Fedora

在 Red Hat Linux 终止发布后,由 RedHat 推出的替代品,在新技术方面跟进较快。是 RedHat 系列的典型代表,和 CentOS / RHEL 源出一脉,如果将来使用 CentOS 作为服务器,使用 Fedora 作为个人桌面使用比较习惯。

对于新手,安装 Fedora 可以参考《新手指南: 手把手教你安装 Ubuntu 和 Fedora》。

Fedora 25 Workstation Live

  • Intel & AMD/ 兼容 PC 32,适用于 32-bit 位 PC 点此下载
  • Intel & AMD/ 兼容 PC 64,适用于 64-bit 位 PC 点此下载

Fedora 25 Server

  • Intel & AMD/ 兼容 PC 32 位,适用于 32-bit 位 PC 点此下载
  • Intel & AMD/ 兼容 PC 64 位,适用于 64-bit 位 PC 点此下载

Linux Mint

基于 Ubuntu 的一个衍生版,以高效易用著称。

Cinnamon 桌面

  • Intel & AMD/ 兼容 PC 32 位 1.4GB ISO 镜像,适用于 32-bit 位 PC 点此下载
    (MD5: 6e7f7e03500747c6c3bfece2c9c8394f)
  • Intel & AMD/ 兼容 PC 64 位 1.5GB ISO 镜像,适用于 64-bit 位 PC 点此下载
    (MD5: e71a2aad8b58605e906dbea444dc4983)

MATE 桌面

  • Intel & AMD/ 兼容 PC 32 位 1.4GB ISO 镜像,适用于 32-bit 位 PC 点此下载
    (MD5: ad46900208e69a952b3c4e1bc7f941e5)
  • Intel & AMD/ 兼容 PC 64 位 1.6GB ISO 镜像,适用于 64-bit 位 PC 点此下载
    (MD5: d3c0ef9d0c0c93ab7109fa2ef1db0c28)

Deepin

国内发展最好的 Linux 发行版,主要关注在桌面使用方面,在外观、易用性、本土化应用方面值得称道。

  • Intel & AMD/ 兼容 PC 32 位 4.4GB ISO 镜像,适用于 32-bit 位 PC 点此下载
    (MD5: e9b6145ba9c0d21632936361dbe74a18)
  • Intel & AMD/ 兼容 PC 64 位 4.3GB ISO 镜像,适用于 64-bit 位 PC 点此下载
    (MD5: 036dda2007b0bf325b97ab3e0fe4a85a)

openSUSE

Novell 所开发的 Linux 桌面发行版,继承于 Slackware,有很大技术创新,如 YaST。其企业版 SLES 和 RHEL/CentOS 、Ubuntu 共同占据了 Linux 服务器市场的较大份额。

DVD ISO

  • Intel & AMD/ 兼容 PC 32 位 4.7GB ISO 镜像,适用于 32-bit 位 PC 点此下载
    (MD5: 43869f9b9b944adc1b210649d3730980)
  • Intel & AMD/ 兼容 PC 64 位 4.7GB ISO 镜像,适用于 64-bit 位 PC 点此下载
    (MD5: 350b8cb014a4e342cc9a7cc9df891b99)

CentOS 7

RedHat 的 Linux 企业版 RHEL 的社区重新打包版本,与 RHEL 相比,只是缺少 RedHat 的商业支持而已。主要用于服务器方面。CentOS 7 采用了一些新的技术,因此和 CentOS 6 有较大差异。

DVD ISO

  • Intel & AMD/ 兼容 PC 64 位 4GB ISO 镜像,适用于 64-bit 位 PC ,点此下载(SHA256: c455ee948e872ad2194bdddd39045b83634e8613249182b88f549bb2319d97eb)

Everything ISO

  • Intel & AMD/ 兼容 PC 64 位 8GB ISO 镜像,适用于 64-bit 位 PC ,点此下载
    (SHA256: af4969ebbdc479d330de97c5bfbb37eedc64c369f009cb15a97f9553ba441c88)

CentOS 6

由于 CentOS 7 采用了一系列 systemd 相关的技术,因此还有相当多的产品环境的 Linux 服务器依旧使用 CentOS 6。

  • Intel & AMD/ 兼容 PC 64 位 ISO 镜像,适用于 64-bit 位 PC ,DVD 1DVD 2
    (SHA256:1dda55622614a8b43b448a72f87d6cb7f79de1eff49ee8c5881a7d9db28d4e35 ,0aba869427b4ce04e100d72744daf7fea1f7be2e4be56b658095bd9e99e04e6d)
  • Intel & AMD/ 兼容 PC 32 位 ISO 镜像,适用于 32-bit 位 PC ,DVD 1DVD 2
    (MD5:720d185fdf063383a4471657076b72fc162d3c3c3bca2e5e5ae13a25b3046519 ,0c1a498a469214f276b4390a9ac2111fe8eb89084f7921d2eced659ada09e1a9)

LFS

Linux From Scratch,简称 LFS,不同于其它的 Linux 发行版,它是一种给使用者指导建议,由使用者自行从头开始自己构建的发行版。

Systemd 版本(简体中文翻译版本):

LCTT 对 LFS 7.7 systemd 版本进行了翻译,并且 LFS 官方网站收录了相应链接:

我的问题是如何把一个Linux ISO 文件烧录到 17 个 USB 启动盘?

精通代码的人会写一个 bash 脚本来自动化处理,而大部分的人会使用像 USB 启动盘创建器这样的图形用户界面工具来把 ISO 文件一个、一个的烧录到驱动盘中。但剩下的还有一些人也许会很快得出结论,两种方法都不太理想。

问题 > 解决

GNOME MultiWriter in action

GNOME MultiWriter 在运行当中

Richard Hughes,一个 GNOME 开发者,也面临着类似的困境。他要创建一批预装操作系统的 USB 启动盘,需要一个足够简单的工具,使得像他父亲这样的用户也能使用。

他的反应是开发品牌性的新应用程序,使上面的两种方法合二为一,创造出易用的一款工具。

它的名字就叫 “GNOME MultiWriter”,可以同时把单个的 ISO 或 IMG 文件写入多个 USB 驱动盘。

它不支持个性化自定义或命令行执行的功能,使用它就可以省掉浪费一下午的时间来对相同的操作的重复动作。

您需要的就是这一款应用程序、一个 ISO 镜像文件、一些拇指驱动盘以用许多空 USB 接口。

用例和安装

The app can be installed on Ubuntu

该应用程序可以在 Ubuntu 上安装

这款应用程序的定义使用场景很不错,正适合使用于预装正要发布的操作系统或 live 映像的 USB 启动盘上。

那就是说,任何人想要创建一个单独可启动的 USB 启动盘的话,也是一样的适用 - 因我用 Ubuntu 的内置磁盘创建工具来创建可引导的映像从来没有一次成功过的,所以这方案对我来说是个好消息!

它的开发者 Hughes 说它最高能支持20个 USB 启动盘,每个盘的大小在 1GB 到 32GB之间。

GNOME MultiWriter 也有不好的地方(到现在为止)就是它还没有一个完结、稳定的成品。它是能工作,但在早期的时候,还没有可安装的二进制版本或可添加到你庞大软件源的 PPA(LCTT 译注:在作者的个人网站上有编译好的 RPM 包)。

如果您知道通常的 configure/make 的操作流程的话,可以获取其源码并随时都可以编译运行。在 Ubuntu14.10 系统上,你可能还需要首先安装以下软件包:

sudo apt-get install gnome-common yelp-tools libcanberra-gtk3-dev libudisks2-dev gobject-introspection

如果您可以运行起来,已经玩转的话,给我们分享下您的感受!


via: http://www.omgubuntu.co.uk/2015/01/gnome-multiwriter-iso-usb-utility

作者:Joey-Elijah Sneddon 译者:runningwater 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如果你想要使用多个Linux发行版,你没有那么多的选择。你要么安装到你的物理机或虚拟机中,要么以live模式从ISO文件启动。第二个选择,对硬盘空间需求较小,只是有点麻烦,因为你需要将ISO文件写入到U盘或CD/DVD中来启动。不过,这里还有另外一个可选的折中方案:把ISO镜像放在硬盘中,然后以live模式来启动。该方案比完全安装更省空间,而且功能也完备,这对于缓慢的虚拟机而言是个不错的替代方案。下面我将介绍怎样使用流行的Grub启动加载器来实现该方案。

很明显,你将需要使用到Grub,这是几乎所有现代Linux发行版都使用的。你也需要你所想用的Linux版本的ISO文件,将它下载到本地磁盘。最后,你需要知道启动分区在哪里,并怎样在Grub中描述。对于此,请使用以下命令:

# fdisk -l 

带有‘*’的就是启动分区。对于我,就是/dev/sda1,用Grub语言描述就是(hd0,1)。

作为参考,sda2就是(hd0,2),sdb1就是(hd1,1),以此类推。(你明白了吧。)

我们需要编辑什么?

首先,打开/etc/default/grub并检查以下行:

#GRUB_HIDDEN_TIMEOUT=0

需要在此行前添加‘#’进行注释。

保存,然后打开/etc/grub.d/40\_custom。

在该文件中,你将添加启动到ISO的参数。结构如下:

menuentry "[Entry's title in the grub screen]" { 
set isofile="[path to ISO file]" 
loopback loop [boot partition in Grub language]$isofile 
[some specific] arguments
}

例如,如果你想要从ISO文件启动Ubuntu,那么你就是想要添加如下行到40\_custom文件:

menuentry "Ubuntu 14.04 (LTS) Live Desktop amd64" { 
set isofile="/boot/ubuntu-14.04-desktop-amd64.iso" 
loopback loop (hd0,1)$isofile 
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash 
initrd (loop)/casper/initrd.lz 
}

如果你想要启动Gparted:

menuentry "GParted Live amd64" { 
set isofile="/boot/gparted-live-0.18.0-2-amd64.iso" 
loopback loop (hd0,1)$isofile 
loopback loop $isofile 
linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile} 
initrd (loop)/live/initrd.img 
}

或者甚至是Fedora:

menuentry "Fedora 20 Live Desktop x86_64" { 
set isofile="/boot/Fedora-Live-Desktop-x86_64-20-1.iso" 
loopback loop (hd0,1)$isofile 
loopback loop $isofile 
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-Desktop-x86_64-20-1 rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile} 
initrd (loop)/isolinux/initrd0.img 
}

注意,参数可根据发行版进行修改。幸运的是,有许多地方你可以查阅到。我喜欢这个发行版,但是还有很多其它的发行版你可以启动。同时,请注意你放置ISO文件的地方。如果你的家目录被加密或者无法被访问到,你可能更喜欢将这些文件放到像例子中的启动分区。但是,请首先确保启动分区有足够的空间。

最后,不要忘了保存40\_custom文件并使用以下命令来更新grub:

# sudo update-grub 

以便在下次启动时看到修改。

接下来做什么?

想要更多东西?好吧,那就修改下参数来玩玩。你可以启动一个ISO文件,并让它持续做一些事情。例如,如果你是个彻头彻尾的妄想症患者,想要有个可以快速清除硬盘的选项,那么可以使用DBAN来进行一些设置。现在,真的要当心啊,因为此设置会清除你的硬盘,而且在启动时也没有恢复选项:

menuentry "Darik's Boot and Nuke" { 
set isofile="/boot/dban.iso" 
loopback loop (hd0,1)$isofile 
linux (loop)/dban.bzi nuke="dwipe" silent 
}

另外一个选择

menuentry "Darik's Boot and Nuke" {
set isofile="/boot/dban.iso"
loopback loop (hd0,1)$isofile
linux (loop)/dban.bzi
}

可以显示DBAN选项,让你选择清除驱动器。当心,因为它仍然十分危险

小结一下,对于ISO文件和Grub有很多事情可做:从快速live会话到一键毁灭,都可以满足你。之后,你也可以试试启动一些针对隐私方面的发行版,如Tails

你认为从Grub启动一个ISO这个主意怎样?这是不是你想要做的呢?为什么呢?请在下面留言。


via: http://xmodulo.com/boot-iso-image-from-grub.html

作者:Adrien Brochard 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出