中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-09-15 02:57
47,812 topics / 349,917 posts / today 0 new / 48,268 members
DOS软件下载 & 游戏分享 (下载室) » Repost: SPfdisk "How to Rescue a Damaged Partition Table"
Printable Version  7,486 / 4
Floor1 Lydong Posted 2003-04-21 00:00
元老会员 Posts 407 Credits 1,468 From 广州
SPecialFDisk is a piece of software written by our compatriot from Taiwan, Feng Xuping, that combines a "hard disk partitioning tool (FDISK)" and a "boot manager (Boot Manager)." It has much the same ingenuity as DiskMan by Li Dahai from the mainland. Another advantage they both have is that they use a Chinese interface, so everything is clear at a glance. As for how to use this tool for disk partitioning and repair, I have not seriously tested it myself, so I selected the most important parts from this tool's documentation and reorganized them together with some materials I collected. If anyone happens to run into the following problems, you might as well give it a try.

☆★☆ How to Rescue a Damaged Partition Table ☆★☆

※ Rescue example:
1. If the hard disk originally had only one primary partition occupying all space:
Use SPFdisk's hard disk partitioning tool to create one primary partition covering the entire hard disk, then choose non-destructive save, and it will be recovered!

ps. If the boot sector is also damaged, then you must additionally use DiskEdit (note: this is the disk editing tool in NU8.0 for DOS) to restore it. You can also use the provided by this program. Just select that DOS partition and press , then choose
DOS Tools from the partition menu to bring up the rescue menu, and select the function. If your FAT, ROOT, and data have not yet been damaged, it should all be recoverable smoothly!

2. If the hard disk originally had several primary partitions, but no extended partition:
1. Enter the SPFDisk hard disk partitioning tool and select the hard disk waiting to be rescued. Press to bring up the main function menu, then choose the function to search for boot objects. It will then start searching for boot objects. Please write down the locations of the boot sectors it finds (you can press the Pause key to pause the search).
2. Since at most only four primary partitions can be created, and the user may not necessarily have created that many partitions, if the number of partitions whose boot sectors are found in the search happens to match the number of partitions the user originally had, then there is no need to consider further. Use the cylinder data found in the search as the starting cylinder of each partition, and let the ending cylinder be one less than the starting cylinder of the next
partition. The two partitions should not have overlapping areas. After creation is completed, choose non-destructive save when saving, and when asked whether to adjust the DOS boot sector, choose N (assuming the boot sector has
not been damaged). In this way the partition table will be recovered.
3. If the search result exceeds four, then filtering work must still be carried out.
4. If there is a DOS partition during the restoration process, then the function can be used for recovery (assuming the boot sector has not been damaged). This function is supported starting from 99-002!

ps. Bytes 12h - 13h(FAT-12) and 20h - 23h(FAT-16 or FAT-32), etc. in the DOS boot sector record the total number of sectors in that partition. This value can be used to judge whether the rebuilt partition is correct!

ps. Only partitioning tools that allow the starting cylinder to be set can possibly cause discontinuity between partitions. MS-DOS's FDISK cannot create that, but SPFdisk and Linux's Fdisk can. Unless the user deliberately created it that way, they should all be contiguous.


3. Same as (2), but with an extended partition:
The method is similar to (2), but what must be noted is which boot sectors belong to primary partitions and which belong to logical partitions. It is also necessary to find the starting and ending cylinders of the extended partition. What is found by the search method in (2) is not only boot sectors, but also logical partition tables mixed in among them, so they must be distinguished especially carefully. It is best to restore the primary partitions first. Then the remaining space can be said to all be the area of the extended partition. Unless you still have reserved space, use all the remaining space to create an extended partition!
Usually, if the search result finds a on head 0 of the same track, and a on head 1, then this partition can almost certainly be judged to be a logical partition. The user only needs to know how many logical partitions were originally created, then arrange the logical partition positions found by the search on paper and check whether there are overlapping areas. If there are, then it is necessary to judge which one was the real original partition. At this time, create the logical partitions one by one according to the cylinder data recorded on the paper just now. After creation is completed, execute the function on each partition to see whether what is displayed is a boot sector. This can be identified through the label in the boot sector,
for example: MS-DOS is MS-DOS5.0, versions above Win95 are MSWIN4.1, Linux installed in Super Block with LILO is LILO, WinNT is NTFS..... and so on.
  Likewise, if there is a DOS partition during the restoration process, then the function can be used for recovery (assuming the boot sector has not been damaged)!

ps. As long as logical partitions are involved, restoration is never very easy. If the extended partition inside the primary partition table is not restored, that is, if the range covered by the extended partition is not found, then all logical partitions under it will have a hard time seeing the light of day again, so users are asked to pay special attention.

☆★☆ When creating a primary partition, the user can define the starting cylinder, so damaged cylinder areas can be skipped. (It can also be said: how to repair things when bad sectors appear on track zero of the hard disk.) ☆★☆
(Note: this trick is one of this software's killer features, but it is not explained in detail in the documentation, so I had to collect some materials to explain it.)

Suppose there is a bad sector on track zero of drive C. Run the SPFDISK program, leave the cursor on the first partition table (drive C), and press the Tab key as prompted on the screen. After the menu appears, choose the third item, "hard disk surface test." After running it, if it detects that the first block of track zero really has a bad sector, press the ESC key to interrupt and exit. Then press Enter as prompted on the screen, and a menu will appear. Choose the "DOS Tools" item and press Enter to enter the next menu, then choose item C (copy FAT1 to FA length), and after the copy is completed, save it to disk.

After testing with the "hard disk surface test" function in the SPFDISK program, you will find that the bad sector in the first block of track zero has moved back. Then exit and restart with a WIN98 boot disk, use the SYS command to transfer system files to drive C, and after restarting WIN98 will run normally.
Floor2 Wengier Posted 2003-04-21 00:00
系统支持 Posts 10,521 Credits 27,736
I already added its English version yesterday to the super MS-DOS 7.10 boot disk I made. The reason there was room to put it in was because I slimmed down IO.SYS.
Floor3 MYS Posted 2003-04-22 00:00
元老会员 Posts 1,637 Credits 5,170 From 广东佛山
Can the slimmed-down IO.SYS boot from a floppy now? That's really great.
Floor4 Lydong Posted 2003-04-22 00:00
元老会员 Posts 407 Credits 1,468 From 广州
I started using the slimmed-down IO.SYS today too, not bad!
Floor5 Dark-Destroy Posted 2003-04-23 00:00
元老会员 Posts 3,551 Credits 8,312
The slimmed-down IO.SYS really is very good, thanks Wengier!!
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023