Strange case of root filesystem corruption

From: Ulf Magnusson (ulfma629_at_student.liu.se)
Date: 09/17/05

  • Next message: Kevin Kinsey: "Re: hdd full"
    To: freebsd-questions@freebsd.org
    Date: Sat, 17 Sep 2005 21:54:14 +0200
    
    

    First of all, all low level diagnostic tools I've used on my drive show
    no signs of hardware error. The shutdown prior to when the problems
    started went smooth, without any error messages.

    Yesterday GRUB would suddenly not display the boot menu anymore. After
    some investigation I discovered that all files in /boot/grub had turned
    into symlinks to locale files, as seen in the following ufs2tools dump:

    Jun 22,2005 01:16:24 <DIR> .
    Jul 16,2005 00:41:53 <DIR> ..
    May 11,2005 18:23:10 30 menu.lst -> ../it_CH.ISO8859-1/LC_MONETARY
    Jun 22,2005 01:16:04 201 menu.lst~
    May 11,2005 18:23:10 30 stage1 -> ../it_IT.ISO8859-1/LC_MONETARY
    May 11,2005 18:23:10 30 stage2 -> ../nl_BE.ISO8859-1/LC_MONETARY
    May 11,2005 18:23:10 30 ufs2_stage1_5 ->
    ../nl_NL.ISO8859-1/LC_MONETARY

    I could no longer log in via any of my accounts, so I tried adding a new
    account in single-user mode. This gave an error message about "vnodes"
    (or perhaps inodes, my system won't boot anymore, so I can't reproduce
    the error) and a kernel panic followed by a reboot.

    I then ran fsck, which reported a whole bunch of errors: wrong ref
    wounts, something about things being bad with the superblock, and about
    bad/missing things in general. Perhaps the strangest errors were about
    extraneous links to files directly under / (more on this later). I
    answered 'yes' to all fix/salvage questions from fsck.

    After that FreeBSD would not boot at all, causing a reboot before the
    beastie menu.

    Looking at filesystems on the disk with the free ufs2tools program, only
    the root filesystem seems to be affected by the corruption. Here's what
    / looks like (seems fsck was right about those extraneous links):

    Jan 01,1970 01:00:00 0 .
    Sep 16,2005 01:07:25 <DIR> .
    Jan 01,1970 01:00:00 0 ..
    Sep 16,2005 01:07:25 <DIR> ..
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Jan 01,1970 01:00:00 0
    Nov 05,2004 02:27:17 801 .cshrc
    Nov 05,2004 02:27:17 801 .cshrc
    Nov 05,2004 02:27:17 251 .profile
    Nov 05,2004 02:27:17 251 .profile
    Feb 17,2005 18:21:41 <DIR> .snap
    Jan 01,1970 01:00:00 0 .snap
    May 11,2005 18:31:27 6192 COPYRIGHT
    May 11,2005 18:31:27 6192 COPYRIGHT
    May 11,2005 18:21:44 <DIR> bin
    Jan 01,1970 01:00:00 0 bin
    Jan 01,1970 01:00:00 0 boot
    Jul 16,2005 00:41:53 <DIR> boot
    Feb 17,2005 18:21:48 <DIR> cdrom
    Jan 01,1970 01:00:00 0 cdrom
    Feb 17,2005 18:29:51 10 compat -> usr/compat
    Feb 17,2005 18:29:51 10 compat -> usr/compat
    Jan 01,1970 01:00:00 0 dev
    Feb 17,2005 18:21:41 <DIR> dev
    Jan 01,1970 01:00:00 0 dist
    Feb 17,2005 18:21:50 <DIR> dist
    Sep 16,2005 01:07:22 4096 entropy
    Sep 15,2005 21:27:31 <DIR> etc
    Jan 01,1970 01:00:00 0 etc
    Mar 10,2005 21:53:07 655360 festival-synthesis-.core
    Mar 10,2005 21:53:07 655360 festival-synthesis-.core
    Feb 17,2005 18:21:42 <DIR> home
    Jan 01,1970 01:00:00 0 home
    Mar 23,2005 22:03:23 <DIR> ipod
    Jan 01,1970 01:00:00 0 ipod
    Jan 01,1970 01:00:00 0 lib
    Jul 16,2005 04:50:21 <DIR> lib
    May 11,2005 18:21:39 <DIR> libexec
    Jan 01,1970 01:00:00 0 libexec
    Sep 16,2005 00:05:35 <DIR> lost+found
    Nov 05,2004 02:23:32 <DIR> mnt
    Jan 01,1970 01:00:00 0 mnt
    Jan 01,1970 01:00:00 0 pappas
    May 22,2005 14:50:23 <DIR> pappas
    Apr 10,2005 21:10:07 <DIR> proc
    Jan 01,1970 01:00:00 0 proc
    May 11,2005 18:22:29 <DIR> rescue
    Jan 01,1970 01:00:00 0 rescue
    Sep 10,2005 13:08:14 <DIR> root
    Jan 01,1970 01:00:00 0 root
    May 29,2005 13:26:54 <DIR> s
    Jan 01,1970 01:00:00 0 s
    Jan 01,1970 01:00:00 0 sbin
    May 11,2005 18:23:56 <DIR> sbin
    Feb 17,2005 18:21:48 <DIR> stand
    Jan 01,1970 01:00:00 0 stand
    Jun 15,2005 18:10:54 11 sys -> usr/src/sys
    Jun 15,2005 18:10:54 11 sys -> usr/src/sys
    Sep 15,2005 21:27:32 <DIR> tmp
    Jan 01,1970 01:00:00 0 tmp
    Jan 01,1970 01:00:00 0 usr
    Feb 17,2005 18:21:45 <DIR> usr
    Jan 01,1970 01:00:00 0 var
    Feb 17,2005 18:21:46 <DIR> var
    Mar 06,2005 15:16:20 <DIR> vcdrom
    Jan 01,1970 01:00:00 0 vcdrom
    Jan 01,1970 01:00:00 0 win
    Aug 27,2005 12:12:03 <DIR> win

    Subfolders of / on the same filesystem are affected as well. I can't see
    any corruption inside files though.

    My problems wouldn't be so alarming if not for the fact that two friends
    of mine have had very similar problems (but unfortunately never told
    anyone about it). Their root filesystem suddenly went haywire on
    seemingly fine disks for no apparent reason.

    Some general info:

    I had other filesystems (stored on the same and other disks) mounted on
    /usr, /var, /home, and /win.

    I'm running FreeBSD 5.4. My friends can't remember which version they
    ran at the time, but they both think it was 5.x.

    In case they might be helpful, I'll include the contents of /etc and
    /boot (both show signs of corruption), as well as the output of the
    bsdlabel program (part of the ufs2tools package) when ran on the disk in
    question:

    /etc:

    Sep 15,2005 21:27:31 <DIR> .
    Sep 16,2005 01:07:25 <DIR> ..
    Jun 06,2005 12:49:27 0 COPYRIGHT
    Aug 16,2005 13:54:44 <DIR> X11
    Feb 17,2005 18:22:04 12 aliases -> mail/aliases
    Mar 30,2005 15:01:01 65536 aliases.db
    Nov 05,2004 02:27:16 209 amd.map
    Nov 05,2004 02:27:16 1234 apmd.conf
    Mar 12,2005 16:33:49 225 auth.conf
    Nov 05,2004 02:27:16 231 auth.conf~
    Mar 12,2005 22:12:43 0 blocks.fb
    Feb 17,2005 18:22:02 <DIR> bluetooth
    Apr 28,2005 21:09:42 7 console
    Nov 05,2004 02:27:16 737 crontab
    Nov 05,2004 02:27:16 108 csh.cshrc
    Nov 05,2004 02:27:16 481 csh.login
    Nov 05,2004 02:27:16 110 csh.logout
    May 19,2005 18:25:36 <DIR> defaults
    May 11,2005 18:29:51 4846 devd.conf
    Nov 05,2004 02:27:16 2071 devfs.conf
    Aug 20,2005 18:55:00 23 dhclient-enter-hooks
    Aug 20,2005 18:54:57 23 dhclient-enter-hooks~
    Nov 05,2004 02:27:16 267 dhclient.conf
    Nov 05,2004 02:27:16 6621 disktab
    Nov 05,2004 02:27:17 0 dumpdates
    Nov 05,2004 02:27:16 142 fbtab
    Sep 03,2005 22:43:21 509 fstab
    Aug 27,2005 11:26:13 511 fstab~
    Nov 05,2004 02:27:16 245 ftpusers
    Nov 05,2004 02:27:16 5904 gettytab
    May 11,2005 18:26:29 <DIR> gnats
    Aug 04,2005 16:42:42 487 group
    Feb 23,2005 18:52:40 443 group~
    May 07,2005 20:08:15 25 host.aliases
    May 07,2005 20:04:04 21 host.aliases~
    Feb 17,2005 19:57:39 60 host.conf
    Feb 18,2005 20:07:35 1107 hosts
    Nov 05,2004 02:27:16 3186 hosts.allow
    Nov 05,2004 02:27:16 111 hosts.equiv
    Nov 05,2004 02:27:16 99 hosts.lpd
    Feb 17,2005 22:51:26 1106 hosts~
    Apr 10,2005 22:15:42 5378 inetd.conf
    Apr 10,2005 22:12:07 5380 inetd.conf~
    Feb 17,2005 18:22:02 <DIR> isdn
    May 11,2005 18:23:10 30 libfstab -> ../en_AU.ISO8859-1/LC_MONETARY
    Aug 27,2005 23:08:06 511 libfstab~
    Feb 27,2005 22:23:18 390 libmap.conf
    Feb 17,2005 20:24:09 675 localtime
    Nov 05,2004 02:27:16 619 locate.rc
    Nov 05,2004 02:27:16 1847 login.access
    Mar 12,2005 16:29:14 6522 login.conf
    Mar 12,2005 16:30:16 65536 login.conf.db
    Nov 05,2004 02:27:16 6522 login.conf~
    Nov 05,2004 02:27:16 564 mac.conf
    Jul 31,2005 00:36:29 <DIR> mail
    Nov 05,2004 02:27:16 106 mail.rc
    Mar 23,2005 12:59:50 117 mailcap
    Mar 23,2005 12:57:00 117 mailcap~
    Jul 20,2005 13:19:42 13206 make.conf
    Jul 16,2005 04:08:09 13132 make.conf.bak
    Mar 19,2005 11:40:53 13132 make.conf2~
    Jul 20,2005 13:19:14 13206 make.conf~
    Jul 20,2005 13:19:14 1087 manpath.config
    Jul 16,2005 04:08:09 946 manpath.config.bak
    Aug 04,2005 16:42:42 1884 master.passwd
    Mar 12,2005 17:07:09 1750 master.passwd~
    Jun 06,2005 12:45:59 0 motd
    May 11,2005 18:16:36 1111 motd.old
    May 11,2005 18:27:42 <DIR> mtree
    May 02,2005 19:44:26 153 named.conf~
    Sep 15,2005 21:27:31 21 namedb -> /var/named/etc/namedb
    Nov 05,2004 02:27:16 783 netconfig
    Nov 05,2004 02:27:16 2362 netstart
    May 11,2005 18:30:09 13696 network.subr
    Nov 05,2004 02:27:16 365 networks
    Mar 09,2005 21:33:05 1932 newsyslog.conf
    Mar 09,2005 21:28:46 1935 newsyslog.conf~
    Nov 05,2004 02:27:16 1701 nsmb.conf
    Feb 17,2005 19:57:39 113 nsswitch.conf
    Nov 05,2004 02:23:32 <DIR> ntp
    Nov 05,2004 02:27:16 432 opieaccess
    Feb 17,2005 20:01:00 0 opiekeys
    Feb 17,2005 18:22:02 <DIR> pam.d
    Aug 04,2005 16:42:42 1582 passwd
    Feb 22,2005 19:50:54 1394 passwd~
    May 11,2005 18:30:56 5814 pccard_ether
    Feb 17,2005 18:22:03 <DIR> periodic
    Mar 21,2005 11:50:51 137 periodic.conf
    Nov 05,2004 02:27:16 3567 pf.conf
    Nov 05,2004 02:27:16 22556 pf.os
    Nov 05,2004 02:27:16 293 phones
    Feb 17,2005 18:22:03 <DIR> ppp
    Apr 23,2005 16:34:38 2152 printcap
    Apr 23,2005 16:32:27 2152 printcap~
    May 07,2005 20:07:03 842 profile
    May 07,2005 20:06:58 841 profile~
    May 11,2005 18:30:11 5807 protocols
    Aug 04,2005 16:42:42 40960 pwd.db
    Nov 05,2004 02:27:16 2716 rc
    May 11,2005 18:30:16 5298 rc.bsdextended
    Aug 20,2005 19:09:38 710 rc.conf
    Jun 18,2005 19:06:23 693 rc.conf.orig
    Aug 20,2005 19:09:34 710 rc.conf~
    May 11,2005 18:29:47 <DIR> rc.d
    Nov 05,2004 02:27:16 9569 rc.firewall
    Nov 05,2004 02:27:16 8905 rc.firewall6
    Nov 05,2004 02:27:16 2165 rc.resume
    Nov 05,2004 02:27:16 5785 rc.sendmail
    May 11,2005 18:30:27 3211 rc.shutdown
    May 11,2005 18:30:31 30905 rc.subr
    Nov 05,2004 02:27:16 2209 rc.suspend
    Nov 05,2004 02:27:16 2392 remote
    Sep 15,2005 21:27:31 52 resolv.conf
    Aug 20,2005 18:32:44 23 resolv.conf.no
    Jul 15,2005 21:07:06 69 resolv.conf~
    Feb 17,2005 18:22:04 13 rmt -> /usr/sbin/rmt
    Nov 05,2004 02:27:16 1674 rpc
    Nov 05,2004 02:27:16 73410 services
    Jun 02,2005 12:40:40 276 shells
    Nov 05,2004 02:23:32 <DIR> skel
    May 11,2005 18:23:10 30 spwd.db -> ../pt_PT.ISO8859-1/LC_MONETARY
    Feb 17,2005 20:00:07 <DIR> ssh
    May 11,2005 18:29:49 <DIR> ssl
    Nov 05,2004 02:27:16 367 sysctl.conf
    Jun 06,2005 12:37:53 1352 syslog.conf
    May 02,2005 20:24:16 1344 syslog.conf~
    Feb 17,2005 18:22:04 23 termcap -> /usr/share/misc/termcap
    Apr 28,2005 21:09:29 7 tty
    Mar 12,2005 17:18:17 7670 ttys
    Nov 05,2004 02:27:16 7658 ttys~
    May 11,2005 18:30:52 2032 usbd.conf
    Jun 16,2005 22:31:19 0 wall_cmos_clock

    /boot:

    ul 16,2005 00:41:53 <DIR> .
    Sep 16,2005 01:07:25 <DIR> ..
    May 11,2005 18:23:16 7007 beastie.4th
    Mar 11,2005 23:53:02 6757 beastie.4th~
    May 11,2005 18:23:15 8192 boot
    May 11,2005 18:23:15 512 boot0
    May 11,2005 18:23:15 512 boot0sio
    May 11,2005 18:23:15 512 boot1
    May 11,2005 18:23:15 7680 boot2
    May 11,2005 18:23:15 1184 cdboot
    May 11,2005 18:23:16 <DIR> defaults
    Nov 05,2004 02:27:17 1982 device.hints
    May 11,2005 18:23:16 2249 frames.4th
    Jun 22,2005 01:16:24 <DIR> grub
    Jun 15,2005 18:11:05 <DIR> kernel
    Jun 15,2005 15:59:52 <DIR> kernel.old
    May 11,2005 18:23:16 262144 loader
    May 11,2005 18:23:16 7772 loader.4th
    Jul 16,2005 00:41:53 58 loader.conf
    May 11,2005 18:23:10 30 loader.conf.orig ->
    ../no_NO.ISO8859-1/LC_MONETARY
    Feb 17,2005 18:29:51 0 loader.conf~
    May 11,2005 18:23:16 13893 loader.help
    Nov 05,2004 02:26:31 212992 loader.old
    Nov 05,2004 02:26:31 370 loader.rc
    May 11,2005 18:23:15 512 mbr
    Jul 16,2005 00:41:48 <DIR> modules
    May 11,2005 18:23:16 264192 pxeboot
    May 11,2005 18:23:16 692 screen.4th
    May 11,2005 18:23:16 36440 support.4th

    bsdlabel output:

    # Drive 0, Slice 1:
    type: ESDI
    disk:
    label:
    flags:
    bytes/sector: 512
    sectors/track: 63
    tracks/cylinder: 255
    sectors/cylinder: 16065
    cylinders: 4865
    sectors/unit: 78165360
    rpm: 3600
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # milliseconds
    track-to-track seek: 0 # milliseconds
    drivedata: 0

    8 partitions:
    # size offset fstype [fsize bsize bps/cpg]
      a: 1048576 0 4.2BSD 0 0 0
      b: 3145728 1048576 swap
      c: 78164624 0 unused 0 0 # "raw" part,
    don't edit
      d: 2097152 4194304 4.2BSD 0 0 0
      e: 62914560 6291456 4.2BSD 0 0 0
      f: 8957952 69206016 4.2BSD 0 0 0

    I haven't lost any important data because of these problems, but others
    might..
    /Ulf
    _______________________________________________
    freebsd-questions@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


  • Next message: Kevin Kinsey: "Re: hdd full"

    Relevant Pages

    • Strange case of root filesystem corruption
      ... Yesterday GRUB would suddenly not display the boot menu anymore. ... Subfolders of / on the same filesystem are affected as well. ... The disk is a Seagate IDE drive. ... sectors/track: 63 ...
      (freebsd-stable)
    • Re: Making a bootable second hard disk (and larger filesystems)
      ... If you wish to copy the whole disk to a second one, ... you will need to unmount your second hard disk filesystem. ... Keep your boot and swap slices the ... same size then let root have the rest of the disk. ...
      (comp.unix.sco.misc)
    • Re: crashed system
      ... Used Lone Tar disk to boot and restored the root ... Then got Stage 1 boot failure. ... > mounted as a separate filesystem just before the prompt to login to ... mkdir /u2/lost+found ...
      (comp.unix.sco.misc)
    • Re: System hangs after fsck
      ... Fitted new PSU, normal boot, happy. ... The filesystem types for filesystems mounted at boot are listed in ... > disk upon booting? ...
      (comp.unix.sco.misc)
    • Can I Boot From ad1? How?
      ... I have a 4.9 system that has two identical 850 MB drives and a 4 GB drive. ... I suspect a complete disk failure is ... sectors/track: 63 ... I read the boot man page and surmised that the way to boot from ad1 was to ...
      (freebsd-questions)