February 19Feb 19 The ProblemI'm trying to emulate a failed disk to recover the data (and rebuild the array with a replacement disk).BackgroundI'm running Unraid 7.1.4 and I have 1 parity drive.The StoryI was trying to upgrade a disk with a bigger one, however during the drive swap the larger drive was faulty so it did not rebuild with the new drive.I tried to go back to the smaller drive but Unraid wouldn't allow it (I didn't know about New Config at this time).While i was trying to source a new larger drive the array kept running and another drive failed.Now I have two drives missing and the array won't start. Ordered a few brand new drives ready to go.I consulted 3 AI models on how to recover the array, two of which (ChatGPT & Grok) recommend using New Config to get the smaller drive back in the array and then use parity to replace the failed drive.I followed instructions and now I can't see an emulated drive and don't know what to do next.What have I done?I popped the smaller drive back in the machine.I did New Config with keeping all devices assigned, I checked that all the drives were still in the same slots with the failed drive "unassigned"Started the array in maintenance mode with "parity is valid" however it showed no "missing drive".Rebooted the machine and started the array normally, still no "missing drive"My QuestionsAm I cooked? Is there any hope now of recovering that lost drive from parity data? Is there some way I can pop a new drive in and manually tell Unraid to rebuild it from parity?I also have no shares it seems. Is that normal for a New Config?
February 19Feb 19 Community Expert Very late for me will check back in the morning. Don't do anything else without further advice. Attach Diagnostics ZIP to your NEXT post in this thread.
February 19Feb 19 Community Expert You can try doing a new config again to force emulating the missing disk, but note that because of what you did, parity will no longer be 100% valid, so there may be some fs issues with the emulated disk.-Tools -> New Config -> Retain current configuration: All -> Apply-Check all assignments and assign any missing disk(s) if needed, including the old smaller disk and the new disk you want to rebuild, replacement disk should be same size or larger than the old one-IMPORTANT - Check both "parity is already valid" and "maintenance mode" and start the array (note that the GUI will still show that data on parity disk(s) will be overwritten, this is normal as it doesn't account for the checkbox, but it won't be as long as it's checked)-Stop array-Unassign the disk you want to rebuild-Start array (in normal mode now), and post new diagnostics
February 19Feb 19 Author Thanks!So just to confirm: I should add the new disk (replacing the failed drive) for the maintenance mode start-up and then unassign it for the full start?
February 19Feb 19 Community Expert Yes. New Config will accept all assigned disks just as they are. You need to have all disks assigned exactly as they were when Parity was last valid, except you can assign the replacement disk instead of the original disk before you start the array. The disk assigned to that slot will be disabled then rebuilt based on the contents of parity and all other data disks, so all other disks need to be present and just as they were when parity was last valid.Ordinarily, when you start the array after New Config, it will rebuild parity. That is why you must check the Parity Valid box so it will not change the contents of parity. It needs to be exactly as it was so it can rebuild the data disk instead.If you start in Normal instead of Maintenance mode, it will try to mount all the filesystems. This modifies the data disks slightly. So you start in Maintenance mode with Parity Valid so it will not change the contents of the other data disks either.Then, when you stop, then unassign the data disk to be rebuilt, then start the array in normal mode with it unassigned, it will disable that data disk and emulate its contents from the parity calculation by reading parity and all other disks.At that point, you should post new diagnostics so we can see if the emulated disk mounts and check its contents. The emulated contents are exactly what will be rebuilt. Possibly, the emulated disk will be unmountable and we will have to check filesystem on it to get its filesystem repaired and mountable before rebuilding the emulated contents onto the replacement disk.
February 19Feb 19 Community Expert You were on the right track except for this part:9 hours ago, funkyfedaykin said:I did New Config with keeping all devices assigned, I checked that all the drives were still in the same slots with the failed drive "unassigned"Since there was nothing assigned to that slot, there wasn't a disk that you could make missing.
February 19Feb 19 Community Expert 9 hours ago, funkyfedaykin said:While i was trying to source a new larger drive the array kept running and another drive failed.Up until that point, the missing disk was being emulated by parity and any writes to that missing disk were emulated by updating parity. So the original disk from that slot is out-of-sync with the rest of the array. If much was written to the emulated disk while it was missing, it will make for significant problems trying to emulate the failed disk using the original disk.
February 19Feb 19 Community Expert 9 hours ago, funkyfedaykin said:While i was trying to source a new larger drive the array kept running and another drive failed.In what way specifically did that disk fail? Do you still have it? If it is at all readable it may be very useful in trying to recover your data since the emulated disk may have significant problems.
February 19Feb 19 Community Expert 43 minutes ago, trurl said:In what way specifically did that disk fail? Do you still have it? If it is at all readable it may be very useful in trying to recover your data since the emulated disk may have significant problems.This might really be the way forward. But we can try both approaches.If you can plug that disk in we could take a look at its SMART report. And if you could mount it with Unassigned Devices, even better. If its SMART report looks OK and it is mountable, you could just New Config it back into the array and be done with it.Or if it is unmountable, we could check filesystem on it to try to make it mountable.
February 20Feb 20 Author On 2/19/2026 at 7:31 PM, JorgeB said:-Tools -> New Config -> Retain current configuration: All -> Apply-Check all assignments and assign any missing disk(s) if needed, including the old smaller disk and the new disk you want to rebuild, replacement disk should be same size or larger than the old one-IMPORTANT - Check both "parity is already valid" and "maintenance mode" and start the array (note that the GUI will still show that data on parity disk(s) will be overwritten, this is normal as it doesn't account for the checkbox, but it won't be as long as it's checked)-Stop array-Unassign the disk you want to rebuild-Start array (in normal mode now), and post new diagnosticsOk I have done as advised. The missing disk is being emulated according to the GUI. However it does not appear that the emulated disk has mounted. I can't see it under /mnt/.Should I proceed with adding the new drive so that it rebuilds it from parity? minasarnor-diagnostics-20260221-0823.zip
February 20Feb 20 Author On 2/20/2026 at 1:12 AM, trurl said:In what way specifically did that disk fail? Do you still have it? If it is at all readable it may be very useful in trying to recover your data since the emulated disk may have significant problems.It is a hardware failure - clicking and not registering as attached. I do have it.If I can't recover from parity data then it will probably be time to send it to some data recovery folk.I'm not 100% sure what was on it and if it is worth it, or whether I should just cut my losses (in the case the other efforts don't work).
February 20Feb 20 Community Expert 1 minute ago, funkyfedaykin said:Should I proceed with adding the new drive so that it rebuilds it from parity?If the emulated disk is not mountable then the rebuilt disk would not be mountable either.
February 20Feb 20 Community Expert Check filesystem on the emulated disk from the webUI and post the output
February 20Feb 20 Author 1 hour ago, trurl said:Check filesystem on the emulated disk from the webUI and post the outputThere's no option for "Check file system" on the webUI. And Trying to check via command line doesn't seem to be working either.
February 21Feb 21 Community Expert 1 hour ago, funkyfedaykin said:"Check file system"Did you start the array in Maintenance mode?
February 21Feb 21 Community Expert 1 hour ago, funkyfedaykin said:Trying to check via command lineDon't, easy to get the command wrong in more than one way.
February 21Feb 21 Author 1 hour ago, trurl said:Set the File system type. I assume it was XFS?It is XFS, however on the missing drive on Main it says "auto"
February 21Feb 21 Community Expert 4 minutes ago, funkyfedaykin said:on the missing drive on Main it says "auto"That is where you need to set it to XFS
February 21Feb 21 Author 8 hours ago, trurl said:That is where you need to set it to XFSOk, did that and then checked FS. Here's the output:Phase 1 - find and verify superblock... bad primary superblock - bad magic number !!! attempting to find secondary superblock... .................................................found candidate secondary superblock... verified secondary superblock... would write modified primary superblock Primary superblock would have been modified. Cannot proceed further in no_modify mode. Exiting now.
February 22Feb 22 Author Ok so having pressed FIX the output is:Phase 1 - find and verify superblock... bad primary superblock - bad magic number !!! attempting to find secondary superblock .................. verified secondary superblock... writing modified primary superblock sb realtime bitmap inode value 18446744073709551615 (NULLFSINO) inconsistent with calculated value 129 resetting superblock realtime bitmap inode pointer to 129 sb realtime summary inode value 18446744073709551615 (NULLFSINO) inconsistent with calculated value 130 resetting superblock realtime summary inode pointer to 130 Phase 2 - using internal log - zero log... Log inconsistent (didn't find previous header) failed to find log head zero_log: cannot find log head/tail (xlog_find_tail=5) ERROR: The log head and/or tail cannot be discovered. Attempt to mount the filesystem to replay the log or use the -L option to destroy the log and attempt a repair.The button now says "Zero Log" with "Dirty Log Detected"Can I proceed with this?(Reminder: I'm in Maintenance mode)
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.