Comments (6)
Oh and for those who might wonder why older versions of Rufus worked, it's simply because we didn't process and try to extract El-Torito boot records then. And I'll grant that this content does not technically need to be extracted to create bootable media when using Rufus' ISO mode, but one of the goal of Rufus is to provide as much as the original data as we can, which is why we decided to start extracting these records (and some ISOs <cough>Mint<cough> do require us to actually pick some content from the El-Torito images, so we have to process these records, which we'll expect to be valid anyway).
from rufus.
OK, I'll close this issue then. But you will still be able to comment on it if needed.
from rufus.
OK - Thank you for investigating. I'll see what options are available.
from rufus.
I'm afraid that I'm going to need access to an ISO that can replicate the issue to investigate this (I am not going to attempt to recreate an ISO, as there are too many environmental elements that could make it fail to replicate the issue and I'm afraid I don't have the luxury to invest time trying to replicate an image).
So can you please upload a problematic ISO somewhere on a file sharing site?
If you don't want to make it public, you can email me the link privately to: [email protected].
Also, the fact that you use -indev ubuntu-24.04-live-server-amd64.iso
to modify an existing ISO rather than create one from scratch, could indicate that this may be an issue with xorisso not properly updating the El-Torito bootloaders rather than an issue with Rufus (as Rufus 4.5 is now a bit more stringent about ISO-9660 compliance).
from rufus.
Thank you for looking - I'll send a link.
from rufus.
Thanks for sharing your ISO.
From looking at it, it would seem that the root of the issue is that it wasn't mastered properly.
If we look at the El Torito Section Entry for the problematic boot image (at address 0x096860
in your ISO), and broken into the relevant fields, we get:
88 00 0000 00 00 9C27 6E791400 00 00000000000000000000000000000000000000
The first bunch of fields are not directly relevant, but then we get to the 9C27 6E791400
part.
6E791400
(Little-Endian) translates to 0x0014796E
which is 1341806
in decimal, a.k.a. the address (or LSN in ISO-9660 parlance) of the first ISO-9660 2408-byte block where the bootable image data should be read. So that tells us that the 1-boot-noemul.img
bootable image starts at byte 1341806 x 2048 = 2,748,018,688
of your 2,748,383,232
-byte ISO. So far so good.
Then 9C27
(Little-Endian) translates to 0x279C
which is 10140
virtual image sectors of 512 bytes, which now tells us that the bootable image should be exactly 5,191,680
bytes in size.
However, when you add this all up, it so happens that your El-Torito boot records declares a bootable image starting at 2,748,018,688
and ending at byte 2,748,018,688 + 5,191,680 - 1 = 2,753,210,367
of your 2,748,383,232
-byte ISO.
And therein is your problem. 2,748,018,688 + 5,191,680
is greater than 2,748,383,232
. In its present state, your ISO declares a bootable image that goes past the actual size of the ISO!
Now, there is some software out there (e.g. 7-zip) that will just ignore such an overflow, and truncate the bootable image if it reaches the end of the ISO file. But Rufus (and other software that do attempt to respect the El Torito specs) don't. So you will have to fix your ISO, because, from where I stand, the root of the issue is that your ISO is not ISO-9660/El-Torito compliant in the first place, and if you want to interoperate with other software, you want to address that.
from rufus.
Related Issues (20)
- 'Error: Success' may be reported on faulty drives
- detected file system unrecognized HOT 1
- Install Windows 11 to any computer by using Rufus and Virtualbox HOT 1
- Windows to Go is not working on Windows 7 HOT 1
- Windows to go not installing HOT 1
- Rufus Windows To Go Not Installing HOT 2
- Windows To Go ISO Extraction Failure HOT 5
- Rufus Crash in Windows 10 HOT 2
- Identifies as if which process is using the device HOT 1
- Identifies as if which process is using the device HOT 1
- Rufus truncates file-names in UEFI ISOs HOT 2
- Rufus wrong size detection HOT 1
- Wiki should include Expert Mode (Ctrl-Alt-E) shortcut and description HOT 1
- Cannot see usb device after rufus error when trying to make usb bootable with ubuntu HOT 1
- Add support for compiling in newer msys2 env HOT 8
- [Bug] 官方镜像通过Rufus刷写后,提示“由你的组织管理” HOT 2
- RAMMUS 126 recovery image too large to copy to FAT32 disk. HOT 7
- rufus.ie riddled with ads and malware links HOT 2
- Add a "Is it legal ?" question in FAQ HOT 6
- German ISO Win11 Bypass unsuccessfull HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.