[REQUEST/INFO] Windows 98 Editions for collectors

Discussion in 'Windows XP / Older OS' started by Threat, Mar 28, 2014.

  1. florzy

    florzy MDL Novice

    Sep 5, 2023
    7
    1
    0
    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
     
  2. vanelle

    vanelle MDL Expert

    Sep 22, 2014
    1,561
    1,513
    60
    #262 vanelle, Mar 17, 2024
    Last edited: Mar 17, 2024
    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









     
  3. wvv000

    wvv000 MDL Addicted

    Feb 21, 2019
    759
    865
    30

    So what's the point of this thread's existence today?
     
  4. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    3,282
    4,445
    120
  5. kdesktop

    kdesktop MDL Novice

    Jul 30, 2015
    19
    21
    0
    @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
     
  6. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
  7. vanelle

    vanelle MDL Expert

    Sep 22, 2014
    1,561
    1,513
    60
    #270 vanelle, Oct 8, 2024
    Last edited: Oct 8, 2024
    @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
    
     
  8. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
    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
     
  9. vanelle

    vanelle MDL Expert

    Sep 22, 2014
    1,561
    1,513
    60
    #274 vanelle, Nov 6, 2024
    Last edited: Nov 6, 2024
    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
     
  10. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
    #275 pamonha, Nov 6, 2024
    Last edited: Nov 6, 2024
    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.
     
  11. vanelle

    vanelle MDL Expert

    Sep 22, 2014
    1,561
    1,513
    60
    #276 vanelle, Nov 6, 2024
    Last edited: Nov 6, 2024
    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
     
  12. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
    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.
     
  13. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
    All files corrected and links updated in the original post.
    Thank you.
     
  14. pamonha

    pamonha MDL Novice

    Aug 11, 2017
    20
    14
    0
    #280 pamonha, Nov 6, 2024
    Last edited: Dec 18, 2024
    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.