标签 ISO 下的文章

磁盘镜像包括了整个磁盘卷的文件或者是全部的存储设备的数据,比如说硬盘,光盘(DVD,CD,蓝光光碟),磁带机,USB闪存,软盘。一个完整的磁盘镜像应该包含与原来的存储设备上一样完整、准确,包括数据和结构信息。

磁盘镜像文件格式可以是采用开放的标准,像ISO格式的光盘镜像,或者是专有的软件应用程序的特定格式。"ISO"这个名字来源于用CD存储的ISO 9660文件系统。但是,当用户转向Linux的时候,经常遇到这样的问题,需要把专有的的镜像格式转换为开放的格式。

磁盘镜像有很多不同的用处,像烧录光盘,系统备份,数据恢复,硬盘克隆,电子取证和提供操作系统(即LiveCD/DVDs)。

有很多不同的方法可以把ISO镜像挂载到Linux系统下。强大的mount 命令给我们提供了一个简单的解决方案。但是如果你需要很多工具来操作磁盘镜像,你可以试一试下面的这些强大的开源工具。

很多工具还没有看到最新的版本,所以如果你正在寻找一个很好用的开源工具,你也可以加入,一起来为开源做出一点贡献。

Furius ISO Mount

Furius ISO Mount是一个简单易用的开源应用程序,可以用来挂载镜像文件,它支持直接打开ISO,IMG,BIN,MDF和NRG格式的镜像而不用把他们烧录到磁盘。

特性:

  • 支持自动挂载ISO, IMG, BIN, MDF and NRG镜像文件
  • 支持通过 loop 方式挂载 UDF 镜像
  • 自动在根目录创建挂载点
  • 自动解挂镜像文件
  • 自动删除挂载目录,并返回到主目录之前的状态
  • 自动记录最近10次挂载历史
  • 支持挂载多个镜像文件
  • 支持烧录ISO文件及IMG文件到光盘
  • 支持MD5校验和SHA1校验
  • 自动检索之前解挂的镜像
  • 自动创建手动挂载和解挂的日志文件
  • 语言支持(目前支持保加利亚语,中文(简体),捷克语,荷兰语,法语,德语,匈牙利语,意大利语,希腊语,日语,波兰语,葡萄牙语,俄语,斯洛文尼亚语,西班牙语,瑞典语和土耳其语)

fuseiso

fuseiso 是用来挂载ISO文件系统的一个开源的安全模块。

使用FUSE,我们完全可以在用户空间里运行一个完整的文件系统。

特性:

  • 支持读ISO,BIN和NRG镜像,包括ISO 9660文件系统
  • 支持普通的ISO 9660级别1和级别2
  • 支持一些常用的扩展,想Joliet,RockRidge和zisofs
  • 支持非标准的镜像,包括CloneCD's IMGs 、Alcohol 120%'s MDFs 因为他们的格式看起来恰好像BIN镜像一样

iat

iat(Iso 9660分析工具)是一个通用的开源工具,能够检测很多不同镜像格式文件的结构,包括BIN,MDF,PDI,CDI,NRG和B5I,并转化成ISO 9660格式.

特性:

  • 支持读取(输入)NRG,MDF,PDI,CDI,BIN,CUE 和B5I镜像
  • 支持用 cd 刻录机直接烧录光盘镜像
  • 输出信息包括:进度条,块大小,ECC扇形分区(大小),头分区(大小),镜像偏移地址等等

AcetoneISO

AcetoneISO 是一个功能丰富的开源图形化应用程序,用来挂载和管理CD/DVD镜像。

当你打开这个程序,你就会看到一个图形化的文件管理器用来挂载镜像文件,包括专有的镜像格式,也包括像ISO, BIN, NRG, MDF, IMG 等等,并且允许您执行一系列的操作。

AcetoneISO是用QT 4写的,也就是说,对于基于QT的桌面环境能很好的兼容,像KDE,LXQT或是Razor-qt。

这个软件适用于所有正在寻找Linux版本的Daemon Tools的人。

特性:

  • 支持挂载大多数windows 镜像,界面简洁易用
  • 可以将其所有支持镜像格式转换到ISO,或者是从中提取内容
  • 加密,压缩,解压任何类型的镜像
  • 转换DVD成xvid avi,支持将各种常规视频格式转换成xvid avi
  • 从视频里提取声音
  • 从不同格式中提取镜像中的文件,包括bin mdf nrg img daa dmg cdi b5i bwi pdi
  • 用Kaffeine / VLC / SMplayer播放DVD镜像,可以从Amazon 自动下载封面。
  • 从文件夹或者是CD/DVD生成ISO镜像
  • 可以做镜像的MD5校验,或者是生成镜像的MD5校验码
  • 计算镜像的ShaSums(128,256和384位)
  • 支持加密,解密一个镜像文件
  • 按兆数分拆和合并镜像
  • 以高压缩比将镜像压缩成7z 格式
  • 翻录PSX CD成BIN格式,以便在ePSXe/pSX模拟器里运行
  • 为BIN和IMG格式恢复丢失的 CUE 文件
  • 把MAC OS的DMG镜像转换成可挂载的镜像
  • 从指定的文件夹中挂载镜像
  • 创建数据库来管理一个大的镜像集合
  • 从CD/DVD 或者是ISO镜像中提取启动文件
  • 备份CD成BIN镜像
  • 简单快速的把DVD翻录成Xvid AVI
  • 简单快速的把常见的视频(avi, mpeg, mov, wmv, asf)转换成Xvid AVI
  • 简单快速的把FLV 换换成AVI 格式
  • 从YouTube和一些视频网站下载视频
  • 提取一个有密码的RAR存档
  • 支持转换任何的视频到PSP上
  • 国际化的语言支持支持(英语,意大利语,波兰语,西班牙语,罗马尼亚语,匈牙利语,德语,捷克语和俄语)

ISO Master

ISO Master是一个开源、易用的、图形化CD 镜像编辑器,适用于Linux 和BSD 。可以从ISO 里提取文件,给ISO 里面添加文件,创建一个可引导的ISO,这些都是在一个可视化的用户界面完成的。可以打开ISO,NRG 和一些MDF文件,但是只能保存成ISO 格式。

ISO Master 是基于bkisofs 创建的,这是一个简单、稳定的阅读,修改和编写ISO 镜像的软件库,支持Joliet, RockRidge 和EL Torito扩展,

特性:

  • 支持读ISO 格式文件(ISO9660, Joliet, RockRidge 和 El Torito),大多数的NRG 格式文件和一些单轨道的MDF文件,但是,只能保存成ISO 格式
  • 创建和修改一个CD/DVD 格式文件
  • 支持CD 格式文件的添加或删除文件和目录
  • 支持创建可引导的CD/DVD
  • 国际化的支持


via: http://www.linuxlinks.com/article/20141025082352476/DiskImageTools.html

作者:Frazer Kline 译者:barney-ro 校对:wxy

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

Linux的GRUB2启动加载器可以直接从硬盘启动Linux ISO文件,可以启动Live CD的 ISO,而不用烧录到光盘来安装Linux到一个硬盘分区,或从USB驱动启动。

我们在Ubuntu 14.04上实施了该过程——Ubuntu及基于Ubuntu的Linux版本对此支持良好。其它Linux发行版上的工作原理也类似。

获取Linux ISO文件

这一密技需要你的硬盘驱动器上安装有Linux系统,你的计算机必须使用GRUB2启动加载器,这是大多数Linux系统的标准启动加载器。不好意思,你是不能使用Windows启动加载器来直接启动一个Linux ISO文件的。

下载你想要使用的ISO文件,并放到你的Linux分区中。GRUB2应该支持大多数Linux系统的。如果你想要在live环境中使用它们,而不想将它们安装到硬盘驱动器上,请确认你下载的是各个Linux ISO的“live CD”版本。很多基于Linux的可启动工具盘也应该可以工作。

检查ISO文件内容

你可能需要查看ISO文件的内部来知道那些特定的的文件在哪里。例如,你可以通过使用Ubuntu及其它基于GNOME的桌面环境中的归档管理器/文件管理器这些图形化应用程序来打开ISO文件。在Nautilus文件管理器中,右击ISO文件并选择使用归档管理器打开。

找到内核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你会在casper文件夹中找到这些文件——vmlinuz文件是Linux内核,而initrd文件是initrd映像。后面,你需要知道它们在ISO文件中所处的位置。

检查硬盘分区路径

GRUB使用与Linux不同的“设备命名”方式。在Linux系统中,/dev/sda0是硬盘上的第一个分区——a是指第一个硬盘,而0是指第一个分区。在GRUB中,与/dev/sda0相对应的是(hd0,1)。0指第一个硬盘,而1则指它上面的第一个分区。换句话说,在GRUB设备名中,磁盘编号从0开始计数,而分区编号则从1开始计数——是啊,这真是突然令人困惑。例如,(hd3,6)是指第四磁盘上的第六分区。

你可以使用fdisk -l命令来查看该信息。在Ubuntu上,打开终端并运行以下命令:

sudo fdisk -l

你将看到一个Linux设备路径列表,你可以自行将它们转成GRUB设备名。例如,在下面的图片中,我们可以看到有个系统分区是/dev/sda1——那么,对于GRUB而言,它就是(hd0,1)。

创建GRUB2启动条目

添加自定义启动条目的最简单的方式是编辑/etc/grub.d/40\_custom脚本,该文件设计用于用户自行添加启动条目。在编辑该文件后,/etc/defaults/grub文件和/etc/grub.d/脚本的内容将合成创建/boot/grub/grub.cfg文件——你不应该手工编辑这个文件。它被设计为通过你在另外的文件中指定的设置自动生成。

你需要以root特权打开/etc/grub.d/40\_custom文件来编辑。在Ubuntu上,你可以通过打开终端窗口,并运行以下命令来完成:

sudo gedit /etc/grub.d/40_custom

放轻松点,你可以用你喜爱的文本编辑打开该文件。例如,你可以替换命令中“gedit”为“nano”,在Nano文本编辑器中打开它。

除非你已经添加了其它自定义启动条目,否则你应当看到的是一个几乎空的文件。你需要在注释行下添加一个或多个ISO启动部分。

这里为你展示了怎样来从ISO文件启动Ubuntu或基于Ubuntu的发行版,我们在Ubuntu 14.04下作了测试:

menuentry "Ubuntu 14.04 ISO" {
set isofile="/home/name/Downloads/ubuntu-14.04.1-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
}

自定义启动条目以包含你期望的菜单的条目名称,并指定计算机上该ISO文件的正确路径,以及包含ISO文件的硬盘和分区设备名。如果vmlinuz和initrd文件的名称或路径不同,请为这些文件指定正确的路径。

(如果你的/home/ 目录是一个分区,请忽略/home部分,像这样:set isofile="/name/Downloads/${isoname}")。

重要说明:不同的Linux版本要求带有不同启动选项的不同的启动条目,GRUB Live ISO多启动项目提供了用于不同Linux发行版的菜单条目的各种不同类型。你应当为你想要启动的ISO文件调整这些示例菜单条目。你也可以仅仅从网页搜索你想要启动的Linux发行版的名称和发行编号,并附带关键词“在GRUB中从ISO启动”,以获取更多信息。

如果你想要添加更多ISO启动选项,请为该文件添加额外部分。

完成后保存文件,返回终端窗口并运行以下命令:

sudo update-grub

再次启动计算机时,你将看到ISO启动条目,你可以选择它来启动ISO文件。在启动时,你可能需要按Shift键来显示GRUB菜单。

如果在尝试启动ISO文件时你看见错误信息或黑屏,那么你的启动条目配置肯定配置错误了。即使ISO文件路径和设备名是正确的,ISO文件上的vmlinuz和initrd文件的路径可能是不正确的,或者你启动Linux系统可能需要不同的选项。


via: http://www.howtogeek.com/196933/how-to-boot-linux-iso-images-directly-from-your-hard-drive/

作者:Chris Hoffman 译者:GOLinux 校对:wxy

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

在Mac环境下,将Linux的ISO镜像生成一个Linux的安装盘,和Linux下差不多,只是Mac下有一些自己的工具。

步骤如下:

1、在终端下,将ISO镜像转换为DMG格式:

$ hdiutil convert -format UDRW -o ~/linux.dmg /tmp/linux.iso

正在读取Master Boot Record(MBR:0)…
正在读取Linux                       (Apple_ISO:1)…
正在读取(Windows_NTFS_Hidden:2)…
.......................................................................................................................
经过时间:14.829s
速度:145.1M 字节/秒
节省:0.0%
created: /tmp/linux.dmg

也可以使用“磁盘工具”来转换为可读写的DMG镜像。

2、插入USB盘,然后在终端下,查找该盘的设备名:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            120.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.8 GB    disk1
   1:               Windows_NTFS wxy-u3                  15.8 GB    disk1s1

以上显示该盘的设备名是: /dev/disk1

也可以通过“磁盘工具”里面选择磁盘(不是分区),来查看其信息,获得设备名。

3、卸载USB盘(插入时已经自动挂载了),但是不要推出。在终端下:

$ diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

也可以通过“磁盘工具”进行卸载。

4、镜像上面生成的DMG内容到USB盘,在终端下:

$ sudo dd if=linux.dmg of=/dev/rdisk1 bs=1m
Password:
2151+1 records in
2151+1 records out
2256076800 bytes transferred in 90.277905 secs (24990354 bytes/sec)

此处要千万注意,指定的of别写错了,否则悔之晚矣。另外,of参数指定的设备名,可以用上面找到的/dev/disk1,也可以用/dev/rdisk1,此处的“r”据说会写入较快。

另外,如果报错:“dd: Invalid number `1m'”,可能是使用的不同版本的dd,可以换为bs=1M试试。

如果报错:“dd: /dev/diskN: Resource busy”,可能是上面的步骤中没有完成卸载USB盘。

5、推出USB盘。在上面复制之后,系统可能会报错,“此电脑不能读取能插入的磁盘”,不必理会,直接推出即可。也可以在终端下推出:

$ diskutil eject /dev/disk1

或者在“磁盘工具”里面推出。

使用该USB盘引导启动即可进行Linux的安装。