Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




System Administration Guide: Devices and File Systems
Previous Next

Repairing a Defective Sector

If a disk on your system has a defective sector, you can repair the disk by following procedures in this section. You might become aware of defective sectors when you do the following:

  • Run surface analysis on a disk

    For more information on the analysis feature of the format utility, see analyze Menu.

    The defective area reported while your system is running might not be accurate. Because the system does disk operations many sectors at a time, it is often hard to pinpoint exactly which sector caused a given error. To find the exact sector or sectors, use How to Identify a Defective Sector by Using Surface Analysis.

  • Get multiple error messages from the disk driver concerning a particular portion of the disk while your system is running.

    Console messages that are related to disk errors appear similar to the following:

    WARNING: /io-unit@f,e0200000/sbi@0,0/QLGC,isp@1,10000/sd@3,0 (sd33):
        Error for command 'read' Error Level: Retryable
        Requested Block 126, Error Block: 179
        Sense Key: Media Error
        Vendor 'name':
        ASC = 0x11 (unrecovered read error), ASCQ = 0x0, FRU = 0x0

    This message indicates that block 179 might be defective. You would relocate the bad block by using the format utility's repair command. Or, you would use the analyze command with the repair option enabled.

How to Identify a Defective Sector by Using Surface Analysis

  1. Become superuser or assume an equivalent role.
  2. Unmount the file system in the slice that contains the defective sector.
    # umount /dev/dsk/device-name

    For more information, see mount(1M).

  3. Invoke the format utility.
    # format
  4. Select the affected disk.
    Specify disk (enter its number):1
    selecting c0t2d0:
    [disk formatted]
    Warning: Current Disk has mounted partitions.
  5. Select the analyze menu.
    format> analyze
  6. Set up the analysis parameters by typing setup at the analyze> prompt.

    Use the parameters shown here:

    analyze> setup
    Analyze entire disk [yes]? n
    Enter starting block number [0, 0/0/0]: 12330
    Enter ending block number [2052287, 2035/13/71]: 12360
    Loop continuously [no]? y
    Repair defective blocks [yes]? n
    Stop after first error [no]? n
    Use random bit patterns [no]? n
    Enter number of blocks per transfer [126, 0/1/54]: 1
    Verify media after formatting [yes]? y
    Enable extended messages [no]? n
    Restore defect list [yes]? y
    Create defect label [yes]? y
  7. Find the defect by using the read command.
    analyze> read
    Ready to analyze (won't harm SunOS). This takes a long time,
    but is interruptible with Control-C. Continue? y
            pass 0
            pass 1
    Block 12354  (18/4/18), Corrected media error (hard data ecc)
    Total of 1 defective blocks repaired.

How to Repair a Defective Sector

  1. Become superuser or assume an equivalent role.
  2. Invoke the format utility.
    # format
  3. Select the disk that contains the defective sector.
    Specify disk (enter its number): 1
    selecting c0t3d0
    [disk formatted]
  4. Select the repair command.
    format> repair
  5. Type the defective block number.
    Enter absolute block number of defect: 12354
       Ready to repair defect, continue? y
       Repairing block 12354 (18/4/18)...ok.

    If you are unsure of the format that is used to identify the defective sector, see How to Identify a Defective Sector by Using Surface Analysis for more information.

Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire