If you've messed up your hard drive in some way, such as by plugging your PS3 hard drive into a Windows PC and reinitialized the drive (which can happen automatically), you may have overwritten the partition table of the hard drive, which prevents the system from being able to boot and it asks you to format the disk. Luckily, if the only thing touched was the partition table, you can fix this by flashing a new boot sector to it.
Fixing your Boot Sector
This guide assumes that you *haven't* formatted your drive when it prompted you to, so your data is still there.
- You will need:
- A second hard drive of the same size that you don't mind being formatted (other sizes are untested)
- A PC with an open SATA port
- Linux installed, a Linux LiveCD, or a Windows tool that can copy and write boot sectors
- A USB storage device
- Take the unbootable hard drive out of your PS3 and replace it with your second "donor" hard drive.
- Boot the PS3 into recovery mode and install the firmware update of the same firmware you are on (whether it be OFW or CFW), allowing the system to format the donor drive.
- Once your firmware is installed, ensure that you can boot up to the XMB with no issues, and remove the donor hard drive.
- If possible, insert both the unbootable and new hard drive into your PC. If this is not possible, insert only the donor drive.
- Take note of which hard drive is which. In the examples below using Linux, it will use /dev/sda as the unbootable disk, and /dev/sdb as the donor disk. Also note that all commands must be run as root, or if using a Windows program to accomplish this, it must be run as administrator.
- Copy the donor disk's boot sector to your PC with the command:
dd if=/dev/sdb of=boot.img bs=446 count=1
- Clear the unbootable disk's boot sector using the command:
dd if=/dev/zero of=/dev/sda bs=512 count=1
- Write the donor disk's boot sector image you created to your unbootable disk with the command:
dd if=boot.img of=/dev/sda bs=446 count=1
- Eject the "unbootable" disk, insert it in your PS3, and attempt to boot. If all went well, it will either boot up or ask you for a firmware update at which point you reinstall your firmware update.