Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Disable HFS+ journaling from within Mac OS 9 System
My Mac OS X (10.3.7) system recently went a bit strange, the culprit seemed to be an errant DirectoryService daemon that was taking up all the CPU time and I was unable to kill off. I eventually had to reboot my system to rid myself of it. The sytem went down cleanly and rebooted, but kernel panicked whilst rebooting before it got to the window with the progress bar in it. Using verbose boot mode, I saw messages stating the the 'journal checksum' didn't match was it was supposed to be, which effectively made Mac OS X refuse to mount the volume. That being the boot volume and all, it stopped my machine booting and caused a kernal panic a few lines further on.

I rebooted from my system CD, it refused to mount the boot partition but I ran a disk repair on it and it fixed a couple of problems. Still no luck on the reboot though. I couldn't disable journaling as that requires you to first mount the disk - a problem if the disk won't mount due to bad journaling information! I connected the machine to another OS X system using Firewire target disk mode. Even with the force of the OS X terminal, I could find no way to mount the disk (it would always report 'Volume mounted OK,' and then not mount it), and no way to turn off journaling without mounting the disk.

My system had OS 9 installed on another partition. So I booted into OS 9, and it mounted the dodgey OS X parition with no problems, and gave me full access to it. I assume this is because OS 9 simply ignores the journal. Norton Disk Doctor reported no errors on the disk. I backed up all my files using OS 9, then shared the volume across the network, and mounted it on another OS X machine. I then used the Terminal to rm the .journal and .journal_info_block hidden files on the dodgey OS X volume. These files contain the disk journal information.

I rebooted into OS X in verbose mode. It reported that it couldn't find the .journal_info_block file and was going to disable journaling. It then proceeded to boot fine. The system now appears to be functioning normally. That is basically how I recovered a disk with a bad journal that refused to mount in OS X. Hope this helps someone!

[robg adds: This will clearly only work for machines capable of booting OS 9. If anyone can suggest a non-OS 9 solution, please do so in the comments...]
    •    
  • Currently 2.25 / 5
  You rated: 5 / 5 (4 votes cast)
 
[11,247 views]  

Disable HFS+ journaling from within Mac OS 9 | 11 comments | Create New Account
Click here to return to the 'Disable HFS+ journaling from within Mac OS 9' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Disable HFS+ journaling from within Mac OS 9
Authored by: lukec on Jan 21, '05 12:23:21PM
I believe in this situation you may have also been able to boot into single user mode (command+s) and then type the following the force the check which is normally refused if you have journalling enabled.

fsck -fy

Luke

[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: theilgaard on Jan 24, '05 04:25:47AM

This command is the correct one if you want to fix directory problems on a journalised HFS+ volume, but if there are errors on the journal this command will not work.



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: momerath on Jan 21, '05 05:03:43PM

Boot the machine in target mode, and then hook it up to another computer (which might have to run OS 9).



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: geek-e on Jan 22, '05 12:24:14AM
There is a way to disable journaling from terminal or single user modeif it can boot that far. Booting the machine into single user mode mount the drive with the given command of:
/sbin/mount -uw /
Then use 'df' to see what /dev the drive in question is. If its the boot drive it will be the device who's name is /. If it an external disk of some sort the name will start /Volumes/. For this example we'll say its /dev/disk0s3 Then to disable journaling type:
diskutil disableJournal /dev/disk0s3
To enable it again type:
diskutil enableJournal /dev/disk0s3
Again, this depends on how far the drive can boot in single user mode and if the drive can be mounted as an external.

[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: thedano on Jan 23, '05 07:00:01PM

I'd like to thank anyone for a very timely posting, as last night my iBook decided that it was time to corrupt the journal files.

It's nice when a piece of engineering works smoothly, but a real bear when that OS9 booting machine, external hard drive and restore disks are all over three hundred miles away...

Has anyone figured out how to delete the .journ* files from single user mode? DiskWarrior has quit with an error about not being able to deal with the journaling files. fsck has decided to forsake me with I/O timeouts. Mounting the disk gets me a little further, but root# rm .jour* tells me "Operation not permitted" and disabling the journal with diskutil returns something about "Carbon Lazy Values"

A little help over here?



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: LC on Jan 25, '05 02:03:40PM

I've been through that before (carbon lazy values ...) and what I understood is that some kernel extensions hadn't yet been loaded, or else some needed frameworks weren't yet available to the running system (sorry, I don't fully understand the system). Once I made the system execute more of /etc/rc, then everything worked under single-user mode. I think I copied the rc script to a temp file and sourced it from the single-user shell ... not positive but I think I omitted the SystemStarter command at the end; Larry.



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: aardvarko on Jan 26, '05 01:54:54AM

man chflags

uch and/or uunlnk are probably set



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: theilgaard on Jan 24, '05 04:30:10AM

diskutil does not work in single user mode, unless you start up other system services, as described in another hint on this site, i believe.

In this specific case the above command will not work for solving the journal problem, as the diskutil command will use the journal to update the directory information on the drive, and since the journal is bad, the command will fail.



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: thedano on Jan 24, '05 01:17:02PM

I made the attempt to use the iBook in Firewire target disk mode on a G4 running 9.2. The firewire icon on the iBook would freeze after about ten seconds, the host G4 would never see it, and would stop responding to mouse clicks about the same time the firewire logo stopped.

Ahhh, those restore disks are sooo far away from me.



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: johnsawyercjs on Jan 22, '05 02:03:08AM

When an OS X volume is mounted under OS 9, its invisible files are all visible, so wouldn't the step described above be unnecessary, about mounting the volume under OS X while the volume was mounted under OS 9 on another Mac? If the OS X-invisible journaling files were visible under OS 9, you could just drag them to the OS 9 trash.

Also, I looked for files containing the word "journal" on three different journaled volumes, but none of the files that contained the word "journal", on any of these volumes, had anything to do with journaling, even when I had Find look for invisible files, with my SkipFolders file emptied out so it searches all folders. Where are these journal files?



[ Reply to This | # ]
Disable HFS+ journaling from within Mac OS 9
Authored by: johnsawyercjs on Jan 28, '05 03:43:59PM

Well, I pursued my own questions above, and found that the .journal files don't show up in either OS X's or OS 9's Finder even if you use a utility to show invisible files, and the Find utilities in both 9 and X won't find these files either, so apparently Terminal is the only way to trash them, so this is why the user posting the hint mounted the volume under OS 9, and then in turn mounted that volume under OS X on a networked Mac, since this was the only way to get Terminal to look at the volume and delete the journaling files.



[ Reply to This | # ]