would the sha-1 hash help? if so then here. en_win98_se_oem_upgrade.iso: e100a72a4097ae6c1e2f38aceab2590bfd8fb4141b4188ba652,224,512 EN_WIN98SE_116_OEM_Stepup_FE_to_SE_X04-83396.iso: 0B3E359C5CAF3F498417E426FA44268AB4745E20
LOL what do you thik about my posting ? why i post the sha1 and the filenames (known on MDL) ? is it realy imposibel for you to compare the sha1 ? why should i do your work ? en_win98_se_oem_upgrade.iso: e100a72a4097ae6c1e2f38aceab2590bfd8fb4141b4188ba652,224,512 -> E100A72A4097AE6C1E2F38ACEAB2590BFD8FB414 *[ENU] en_win98se_116_companion_cd1_19990423_Compaq.iso EN_WIN98SE_116_OEM_Stepup_FE_to_SE_X04-83396.iso: 0B3E359C5CAF3F498417E426FA44268AB4745E20 -> ISO Nr: X04-83396 0B3E359C5CAF3F498417E426FA44268AB4745E20 *[ENU] en_win98se_116_companion_cd1_19990423.iso type 116 companion CD = - non bootable - cant be install on a fresh formated HD (always need a valid preinstalled win98SE on HD) - is only for repair !!! - is not for stepup (98FE to 98SE) -> for stepup see type 112_stepup-98 - is not for upgrade (min win3.1x to 98se) -> for upgrade see type 102_upgrade - is not a recovery CD EDIT: and yes, the text on the cd is totaly misleading!!! thats Microsoft nonsense the text on the cd is the same as for stepup type 112_stepup-98 (only the backround differ) !! and cdRoot\win98\setup.txt is exact the same stepup type 112_stepup-98 the difference between type 112_stepup-98 and type 116 companion CD is only cdRoot\win98\PRECOPY2.CAB (setupx.dll) thats why always need a valid preinstalled win98SE on HD (independend from all what Microsoft *.txt file's say
@vanelle Need your help again. Would you have the SHA1 of these: Windows 98 FE (pt-br) - Retail??? Windows 98 Upgrade (pt-br) - Retail I already have OEM 'FE', 'SE' and 'Starts Here' discs. tnx
@pamonha damage Files (Invalid damage by your dtn_win.exe) and Valid Files (sha1) Code: Valid: 072f93598bae729e8abec10fb97f71abd3315948 *WINDOWS_2K_EN.iso Valid: 072F93598BAE729E8ABEC10FB97F71ABD3315948 *[ENU] en_w2k_W2P_OEM_19991207.iso Invalid: 8f2c3d0b7da794fb0edaf4f1c4786469a29e6ea8 *WINDOWS_95_BR.iso Valid: 4602877B2E1E594E7533D2F779C2D68324731773 *[PTB] win95b_osr2.1_OEM-FullSetup_cd_type09_00000000.iso Invalid: f84faba4d73d6206b9c4e7fe0dac9891e03e2600 *WINDOWS_95_JP(U).iso Valid: 28DC51D1B47B1D5DC1E61ECC84A3196C16710E40 *[JPN] win95_CCP-Upgrade___cd_type02_00000000.iso Invalid: 1b42db1c7b4902bf3e4404041050e05e4712e96a *WINDOWS_98_JP(OEM).iso Valid: 5FD04FBB05EF017EDE90475E9B2BB0232E90EDCA *[JPN] win98_a_115_oem-setup_cd1_19980612.iso Invalid: 4421c97cc25f43a211dde2a7aaf8729011409bcf *WINDOWS_98SE_BR(OEM).iso Valid: C9C632B41CD5053E9CED7EA60A970DAE14D9FE21 *[PTB] br_win98se_115_oem-setup_cd1_19990505-0x04.iso Valid: 9ddbc9b88789d85500f0f69c9530b31c9027fa05 *WINDOWS_ME_BR(OEM_DSK2).iso Valid: 9DDBC9B88789D85500F0F69C9530B31C9027FA05 *[PTB] br_winME_InteractiveTraining_20000629.iso Invalid: 51511d0f3ea683ccf4e3a488bfc141d90548e392 *WINDOWS_ME_BR(OEM).iso Valid: A8D5D6AAF172EDBD22577D602226EB540351F982 *[PTB] br_winME_115_oem-setup_cd1_20000608.iso Valid: ab2ccc7699078ed18d867a587659d7fdb30759a9 *WINDOWS_XP_BR_OPK(SP1).iso Valid: AB2CCC7699078ED18D867A587659D7FDB30759A9 *[pt-br] br_winxp_xrm_x86_with_sp1_opk_20020911.iso Valid: 553e737ab36cc501275fe5e33405375d6f30b45a *WINDOWS_XP_BR.iso Valid: 553E737AB36CC501275FE5E33405375D6F30B45A *[pt-br] br_winxp_pro_x86_with_sp1_cd1_OEM_20030408_x1a.iso
This is not my code, it is from the original author who coded the original Linux version. Unfortunately the forum is long gone. The tool strip all the zeros from the end, it does nothing else. I will do another check of the physical media and iso files and replace the bad ones. Thank you
example: Code: 1 partitions found. Partition 0: Partition name: Partition type: MODE1/2048 Partition start: sector 0, byte 0 Partition length: 279514 sectors, 572444672 bytes Partition scheme: Partition description: Identifying filesystem on partition Identified by ISO9660 Filesystem. ISO9660 file system Disc bootable following El Torito specifications. ------------------------------ VOLUME DESCRIPTOR INFORMATION: (from the ISO Header) ------------------------------ System identifier: Volume identifier: WINDOWS 98 Volume set identifier: WINDOWS 98 Publisher identifier: MICROSOFT CORPORATION Data preparer identifier: MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (206) 882-8080 Application identifier: CDIMAGE 2.38 (08/27/97 TM) Volume creation date: 16.05.1998 03:01:00 Volume has not been modified. Volume does not expire. Volume has always been effective. Volume has 279514 blocks of 2048 bytes each 279514 blocks of 2048 bytes = 572444672 bytes for the iso the last bytes of sector 2047 (0 indexed) can be 0x00 this depend on the File size a file size of eg 10222 bytes use 5 sectors of 2048 bytes = 10240 10222 (file bytes) + 18 (0x0 bytes) = 10240 bytes = 5 sectors of 2048 bytes ic case of file size of eg 10222 bytes ad the last bytes of the file itself is 0x00000000000000... the code damage the file itself too
I re-dump all the CDs and compare the SHA1 of every single one of them in my backup, they match perfectly. Then I run the dtn tool (Linux version) on each one of them, the hashes also match, good and bad. Please, check this ISO (WINDOWS_98SE_BR(OEM).iso) on your side: Link removed. Code: # MD4 9fc0211c882b6ca393f5abf6e4437ae1 WINDOWS_98SE_BR(OEM).iso # MD5 a0cfa80a167ea85bfca97b1c19a23d57 WINDOWS_98SE_BR(OEM).iso # SHA1 866c4dbd3774e8c7806a707d91e22660978e3006 WINDOWS_98SE_BR(OEM).iso # SHA256 4346c113604871a72b6e81d15a1ca08f024d14531d76d7cfbe98b5be7f310aa9 WINDOWS_98SE_BR(OEM).iso # CRC32 71729c24 WINDOWS_98SE_BR(OEM).iso The file is a plain dump (no dtn), see if you can find any errors. Thank you.
WINDOWS_98SE_BR(OEM).iso size 586752000 / 2048 = 286500 sectors ISO Volume has 286352 blocks of 2048 bytes each 286500 - 286352 = 148 sectors overdumped 148 * 2048 = 303.104 bytes overdumped valid sha1 for WINDOWS_98SE_BR(OEM) C9C632B41CD5053E9CED7EA60A970DAE14D9FE21 *[PTB] br_win98se_115_oem-setup_cd1_19990505-0x04.iso
Did you use any tool to fix the ISO? Like dd to shave off the overdumped bytes? Regenerating new good ISOs for the bad ones, will update the original post soon. Thank you.
This is the Linux script I use to remove the overdumped bytes based on the information from @vanelle: Code: #!/bin/bash # # License: CC0 # Author: pamonha # Function to display error message and exit error_exit() { echo "$1" 1>&2 exit 1 } # Check if an argument (ISO file) was provided if [ $# -ne 1 ]; then error_exit "Usage: $0 <path_to_iso_file>" fi # Get the ISO file from the command-line argument iso_file="$1" # Check if the file exists if [ ! -f "$iso_file" ]; then error_exit "Error: ISO file not found: $iso_file" fi # Get the file size in bytes iso_file_size=$(stat --format="%s" "$iso_file") if [ -z "$iso_file_size" ] || [ "$iso_file_size" -le 0 ]; then error_exit "Error: Unable to retrieve file size or file is empty." fi # Calculate the file sector size (file size / 2048) file_sector_size=$((iso_file_size / 2048)) # Define the fixed block size for ISO volume (286352 blocks of 2048 bytes) block_count=$(isoinfo -d -i "$iso_file" | awk '/^Volume size is:/ {print $4}') # Calculate the difference between the file sector size and the block count sector_diff=$((file_sector_size - block_count)) # Calculate the number of bytes to exclude bytes_to_exclude=$((sector_diff * 2048)) # Check if there are bytes to exclude if [ "$bytes_to_exclude" -le 0 ]; then error_exit "Error: No bytes to exclude. The ISO file is smaller than the expected block size." fi # Create a new output file name adding _new, keep the original intact new_iso_file="${iso_file%.*}_new.iso" # Perform the exclusion using dd, writing to a new file echo "Excluding $bytes_to_exclude bytes from the end of the ${iso_file%.*}..." dd if="$iso_file" of="$new_iso_file" bs=2048 count=$((file_sector_size - sector_diff)) status=progress # Confirm completion echo "Process completed. The modified ISO file has been saved as $new_iso_file." exit 0 Name it whatever you want, do 'chmod 775 trim_iso_overdump.sh' and run: Code: $ ./trim_iso_overdump.sh 'WINDOWS_98_BR(OEM).iso' Excluding 303104 bytes from the end of the ISO file... 471240704 bytes (471 MB, 449 MiB) copied, 4 s, 118 MB/s 286352+0 records in 286352+0 records out 586448896 bytes (586 MB, 559 MiB) copied, 4.95718 s, 118 MB/s Process completed. The modified ISO file has been saved as WINDOWS_98_BR(OEM)_new.iso. Now the ISO match the correct sha1: Code: SHA1: c9c632b41cd5053e9ced7ea60a970dae14d9fe21 I don't have all possible Windows media to test the script with. To preserve the original ISO, the script saves all changes to a new ISO file. The script doesn't work with files signed with AutoCRC (at least not with the ones I have), for those ISOs you have to use the dtn tool (the tool just removes zeros from the end of the ISO). The script works as is, feel free to improve it. Edit: Calculate our $block_count instead of using a fixed value.