对于定义的数据类型来说值太大

对于定义的数据类型来说值太大

我需要在我的 Ubuntu 机器上使用 Brasero 刻录一个 ISO(大小为 3.3GB),但是当我尝试执行此操作时,该 ISO 保存在我的具有 NTFS 文件系统的便携式 USB 驱动器中,Ubuntu 64 位显示:

Value too large for defined data type

有没有什么办法可以解决这个问题,以便我可以将 ISO 刻录到磁盘中?

$uname -a

Linux ubuntu-desktop 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我尝试创建一个大文件:

username:~/temp$ dd if=/dev/zero of=file bs=1048576 count=51205120+0 records in
5120+0 records out
5368709120 bytes (5.4 GB) copied, 92.9742 s, 57.7 MB/s

答案1

磁盘刻录软件不支持刻录巨大的图像。这至少适用于 Brasero 和 K3B。

似乎有一个解决方法。逐个运行这些命令

dd if=/dev/zero of=file.iso bs=1024 count=4589800
mkudffs file.iso  #your filename here
mkdir /media/tmpdvd # if you haven't already a directory
mount -o loop -t udf file.iso /media/tmpdvd
cp big_file /media/tmpdvd
umount /media/tmpdvd

然后根据您的选择尝试使用 GUI 或终端刻录文件。


如果上述方法不起作用,请参见

ulimit -f

如果不是无限制的,请运行此命令

ulimit -f unlimited

答案2

只是为了扩展前面提到的解决方法:

我还必须指出,我曾尝试在两台不同的机器上使用 4.8 GB ISO 映像执行相同操作,这些机器使用 (几乎) 相同版本的 gnome-disk-utility 软件包 (包含 gnome-archive-writer 和 gnome-archive-mounter 工具),我在 32 位机器上遇到了相同的错误,但是它在 64 位机器上运行完美,所以我几乎可以肯定这与系统架构和 32 位整数的限制有关。检查已安装软件包的架构,因为 x86_64 内核支持执行 x86 应用程序,因此 x86 和 x86_64 (amd64) 二进制文件共存于您的系统中并不罕见。只需将您的软件包替换为相应的 amd64 版本,它就可以正常工作。

相关内容