Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
HFS Plus
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Journaling file system developed by Apple}} {{Infobox filesystem | name = HFS+ | full_name = Hierarchical File System Plus | developer = [[Apple Inc.]] | introduction_os = [[Mac OS 8#Mac OS 8.1|Mac OS 8.1]] | introduction_date = {{Start date and age|1998|01|19}} | preceded_by = [[Hierarchical File System (Apple)|HFS]] | succeeded_by = [[Apple File System|APFS]] | partition_id = <code>Apple_HFS</code> ([[Apple Partition Map]])<hr /><code>0xAF</code> ([[Master boot record|MBR]]) HFS and HFS+<hr /><code>Apple_HFSX</code> ([[Apple Partition Map]]) when HFSX <br /><code>48465300-0000-11AA-<br />AA11-00306543ECAC</code> ([[GUID Partition Table|GPT]]) | directory_struct = [[B-tree]] | file_struct = [[Bit array|Bitmap]] | bad_blocks_struct = [[B-tree]] | max_files_no = 4,294,967,295 (2<sup>32</sup> โ 1) | max_file_size = 8 [[exabyte|EB]]<ref name="tn1150" /> | max_filename_size = 255 characters (255 UTF-16 encoding units, normalized to Apple-modified variant of Unicode Normalization Format D) | max_volume_size = 8 [[exabyte]]<ref>{{cite web |url=http://support.apple.com/kb/HT2422 |title=OS X: Mac OS Extended format (HFS Plus) volume and file limits |publisher=Support.apple.com |date=2008-07-29 |access-date=2010-07-05 |url-status=live |archive-url=https://web.archive.org/web/20100730000158/http://support.apple.com/kb/ht2422 |archive-date=2010-07-30 }}</ref> | filename_character_set = [[Unicode]], any character, including [[ASCII#ASCII control characters|NUL]]. OS APIs may limit some characters for legacy reasons | dates_recorded = access, attributes modified, backed up, contents modified, created | date_range = {{date|1904-01-01|MDY}} โ {{date|2040-02-06|MDY}}<ref>{{cite web|url=https://developer.apple.com/library/archive/technotes/tn/tn1150.html#HFSPlusDates|title=HFS Plus Dates|work=HFS Plus Volume Format|id=Technical Note TN1150|date=March 5, 2004|publisher=[[Apple Inc.]]}}</ref> | date_resolution = 1 s | forks_streams = Yes | attributes = Color (3 bits, all other flags 1 bit), locked, custom icon, bundle, invisible, alias, system, stationery, inited, no INIT resources, shared, desktop | file_system_permissions = Unix permissions, [[NFSv4]] [[Access control list|ACL]]s ([[Mac OS X Tiger|Mac OS X v10.4]] onward) | compression = Partial (decmpfs, on [[Mac OS X Snow Leopard|Mac OS X 10.6]] and higher)<ref>{{cite web|url=http://hints.macworld.com/article.php?story=20090902223042255|title=10.6: Compress files with HFS+ compression โ Mac OS X Hints|url-status=live|archive-url=https://web.archive.org/web/20120401035614/http://hints.macworld.com/article.php?story=20090902223042255|archive-date=2012-04-01}}</ref> | encryption = Yes (on [[Mac OS X Lion|Mac OS X 10.7]] and up). Per-[[home directory]] encryption is available with [[Advanced Encryption Standard|AES]]{{Clarify|reason=AES is a block cipher. Not an applicable method of disk encryption.|date=March 2012}} using HFS+-formatted [[Apple Disk Image|.dmg]] volumes on OS X versions prior to 10.7 but later than [[Mac OS X Panther|Mac OS X 10.3]] | OS = [[Mac OS 8#Mac OS 8.1|Mac OS 8.1]], [[Mac OS 9]], [[macOS]], [[iOS]], [[tvOS]], [[watchOS]], [[Darwin (operating system)|Darwin]], [[Linux]], [[Microsoft Windows]] (through [[Boot Camp (software)|Boot Camp]] [[Installable File System|IFS]] drivers) |variants= |data_deduplication= }} '''HFS Plus''' or '''HFS+''' (also known as '''Mac OS Extended''' or '''HFS Extended'''<ref>{{cite web | url=https://developer.apple.com/documentation/coreservices/kuccollatetypehfsextended | title=kUCCollateTypeHFSExtended - Apple Developer Documentation | publisher=developer.apple.com | accessdate=2025-01-16 }}</ref>) is a [[journaling file system]] developed by [[Apple Inc.]] It replaced the [[Hierarchical File System (Apple)|Hierarchical File System]] (HFS) as the primary file system of Apple computers with the 1998 release of [[Mac OS 8|Mac OS 8.1]]. HFS+ continued as the primary [[Mac OS X]] file system until it was itself replaced with the [[Apple File System]] (APFS), released with [[macOS High Sierra]] in 2017. HFS+ is also one of the formats supported by the [[iPod]] digital music player. Compared to its predecessor [[Hierarchical File System (Apple)|HFS]], also called ''Mac OS Standard'' or ''HFS Standard,'' HFS Plus supports much larger files (block addresses are 32-bit length instead of 16-bit) and using [[Unicode]] (instead of [[Mac OS Roman]] or any of several other character sets) for naming items. Like HFS, HFS Plus uses [[B-tree]]s to store most volume [[metadata]], but unlike most file systems that support [[hard link]]s, HFS Plus supports hard links to directories. HFS Plus permits filenames up to 255 characters in length, and [[Fork (file system)|n-forked file]]s similar to [[NTFS]], though until 2005 almost no system software took advantage of forks other than the [[Resource fork|data fork]] and [[resource fork]]. HFS Plus also uses a full 32-bit allocation mapping table rather than HFS's 16 bits, improving the use of space on large disks. == History == Codenamed ''Sequoia'' in development,<ref>{{cite web|author=Gregg Williams|date=May 19, 2000|title=Strategy Mosaic: Sequoia--Mass Storage for Tomorrow and Beyond|url=http://devworld.apple.com/mkt/informed/appledirections/sep97/stratmosaic.html|archive-url=https://web.archive.org/web/20000519230946/http://devworld.apple.com/mkt/informed/appledirections/sep97/stratmosaic.html|archive-date=May 19, 2000}}</ref> HFS+ was introduced with the January 19, 1998, release of [[Mac OS 8|Mac OS 8.1]].<ref name="tn1150">{{cite web | url=https://developer.apple.com/legacy/library/technotes/tn/tn1150.html | title=Technical Note TN1150: HFS Plus Volume Format | date=March 5, 2004 | work=Apple Developer Connection | access-date=2007-03-28 | archive-url=https://web.archive.org/web/20130622040013/https://developer.apple.com/legacy/library/technotes/tn/tn1150.html | archive-date=June 22, 2013 | url-status=live }}</ref> With the release of the [[Mac OS X v10.2|Mac OS X 10.2.2]] update on November 11, 2002, Apple added optional [[Journaling file system|journaling]] features to HFS Plus for improved data reliability. These features were accessible through the GUI, using the [[Disk Utility]] application in Mac OS X Server, but only accessible through the command line in the standard desktop client.<ref>{{cite web | url=http://daringfireball.net/2002/11/crow | title=Crow | author=John Gruber | date=November 11, 2002 | work=DaringFireball.net | access-date=2007-03-28 | url-status=live | archive-url=https://web.archive.org/web/20070409153459/http://daringfireball.net/2002/11/crow | archive-date=April 9, 2007 }}</ref> With Mac OS X v10.3, all HFS Plus volumes on all Macs were set to be journaled by default. Within the system, an HFS Plus volume with a journal is identified as ''HFSJ''. Mac OS X 10.3 also introduced another version of HFS Plus called ''HFSX''. HFSX volumes are almost identical to HFS Plus volumes, except that they are never surrounded by the [[#Design|HFS Wrapper]] that is typical of HFS Plus volumes and they optionally support [[case sensitivity]] for file and folder names. HFSX volumes can be recognized by two entries in the Volume Header, a value of HX in the signature field and 5 in the version field.<ref name="tn1150" /> Mac OS X 10.3 also marked Apple's adoption of Unicode 3.2 decomposition, superseding the Unicode 2.1 decomposition used previously. This change caused problems for developers writing software for Mac OS X.<ref>{{cite web|url=http://kerneltrap.org/mailarchive/git/2008/1/23/593749/thread |title=Re: git on MacOSX and files with decomposed utf-8 file names |publisher=KernelTrap |date=2010-05-07 |access-date=2010-07-05 |url-status=dead |archive-url=https://web.archive.org/web/20110315014244/http://kerneltrap.org/mailarchive/git/2008/1/23/593749/thread |archive-date=March 15, 2011 }}</ref> Mac OS X 10.3 introduced a number of techniques that are intended to avoid fragmentating files in HFS+.<ref>{{cite web |title=Fragmentation in HFS Plus Volumes |url=https://osxbook.com/software/hfsdebug/fragmentation.html |website=osxbook.com |access-date=10 January 2020 |archive-url=https://web.archive.org/web/20200103202947/https://osxbook.com/software/hfsdebug/fragmentation.html |archive-date=January 3, 2020}}</ref> With Mac OS X 10.4, Apple added support for Inline Attribute Data records, something that had been a part of the Mac OS X implementation of HFS Plus since at least [[Mac OS X v10.0|10.0]], but always marked as "reserved for future use".<ref>{{cite web | url=https://arstechnica.com/reviews/os/macosx-10.4.ars/6 | title=OS X 10.4 Tiger: Metadata revisited | author=John Siracusa | date=April 28, 2005 | work=Ars Technica | access-date=2007-03-28 | url-status=live | archive-url=https://web.archive.org/web/20070405040437/http://arstechnica.com/reviews/os/macosx-10.4.ars/6 | archive-date=April 5, 2007 }}</ref> Until the release of [[macOS Server|Mac OS X Server 10.4]], HFS Plus supported only the standard UNIX [[file system permissions]]; however, 10.4 introduced support for [[access control list]]โbased file security, which provides a richer mechanism to define file permissions and is also designed to be fully compatible with the file permission models on other platforms such as [[Microsoft]] [[Windows XP]] and [[Windows Server 2003]].<ref>{{cite web | url=https://www.apple.com/br/server/macosx/windowsservices.html | title=Apple โ OS X Server โ Windows Services | work=Apple.com | access-date=2007-11-12 |archive-url = https://web.archive.org/web/20071231203318/http://www.apple.com/br/server/macosx/windowsservices.html <!-- Bot retrieved archive --> |archive-date = 2007-12-31}}</ref> In Mac OS X Leopard 10.5, directory hard-linking was added as a fundamental part of Time Machine. In Mac OS X Snow Leopard 10.6, HFS+ compression was added using Deflate (Zlib). In open source and some other areas this is referred to as AppleFSCompression or decmpfs. Compressed data may be stored in either an extended attribute or the resource fork. When using non-Apple APIs, AppleFSCompression is not always completely transparent.<ref>{{cite web|title=fileXray user guide and reference|url=https://filexray.com/fileXray.pdf|publisher=iohead LLC|access-date=14 July 2020|author=iohead LLC|page=31|year=2011}}</ref> OS X 10.9 introduced two new algorithms: LZVN (libFastCompression), and [[LZFSE]]. In Mac OS X Lion 10.7, logical volume encryption (known as [[FileVault|FileVault 2]]) was added to the operating system. This addition to the operating system in no way changed the logical structure of the file system. Apple's logical volume manager is known as Core Storage and its encryption at the volume level can apply to file systems other than HFS Plus. With appropriate hardware, both encryption and decryption should be transparent. == Design == HFS Plus volumes are divided into sectors (called logical blocks in HFS), that are usually 512 bytes in size. These sectors are then grouped together into allocation blocks which can contain one or more sectors; the number of allocation blocks depends on the total size of the volume. HFS Plus uses a larger value to address allocation blocks than HFS, 32 bits rather than 16 bits; this means it can access 4,294,967,296 (= 2<sup>32</sup>) allocation blocks rather than the 65,536 (= 2<sup>16</sup>) allocation blocks available to HFS.<ref name="tn1150" /> When disks were small, this was of little consequence, but as larger-capacity drives became available, it meant that the smallest amount of space that any file could occupy (a single allocation block) became excessively large, wasting significant amounts of space. For example, on a 1 GB disk, the allocation block size under HFS is 16 KB, so even a 1-byte file would take up 16 KB of disk space. HFS Plus's system greatly improves space utilization on larger disks as a result. File and folder names in HFS Plus are also encoded in [[UTF-16]]<ref>{{Cite web|url=https://www.applexsoft.com/glossary/hfs-plus.html|title=What is Mac OS HFS+ format?|website=AppleXsoft|access-date=2018-11-06|archive-url=https://web.archive.org/web/20180824144248/http://www.applexsoft.com/glossary/hfs-plus.html|archive-date=2018-08-24|url-status=live}}</ref> and normalized to a form very nearly the same as [[Unicode equivalence|Unicode Normalization Form D (NFD)]]<ref>{{cite web | url=https://developer.apple.com/qa/qa2001/qa1235.html | title=Technical Q&A QA1235: Converting to Precomposed Unicode | date=February 7, 2003 | work=Apple Developer Connection | access-date=2007-03-28 | url-status=live | archive-url=https://web.archive.org/web/20080518105836/http://developer.apple.com/qa/qa2001/qa1235.html | archive-date=May 18, 2008 }}</ref> (which means that precomposed characters like "รฅ" are decomposed in the HFS+ filename and therefore count as two code units<ref>There are some minor differences derived from the fact that the HFS Plus format was finalized before Unicode had standardized the NFD format (see [https://developer.apple.com/legacy/library/technotes/tn/tn1150.html#UnicodeSubtleties "Unicode Subtleties"] {{Webarchive|url=https://web.archive.org/web/20130622040013/https://developer.apple.com/legacy/library/technotes/tn/tn1150.html#UnicodeSubtleties |date=2013-06-22 }} for more information)</ref> and UTF-16 implies that characters from outside the [[Plane (Unicode)#Basic Multilingual Plane|Basic Multilingual Plane]] also count as two code units in an HFS+ filename). HFS Plus permits filenames up to 255 UTF-16 code units in length. Formerly, HFS Plus volumes were embedded inside an HFS standard file system. This was phased out by the Tiger transition to Intel Macs, where the HFS Plus file system was not embedded inside a wrapper. The wrapper had been designed for two purposes; it allowed Macintosh computers without HFS Plus support in their ROM to boot HFS Plus volumes and it also was designed to help users transition to HFS Plus by including a minimal HFS volume with a read-only file called ''Where_have_all_my_files_gone?'', explaining to users with versions of Mac OS 8.0 and earlier without HFS Plus, that the volume requires a system with HFS Plus support. The original HFS volume contains a signature and an offset to the embedded HFS Plus volume within its volume header. All allocation blocks in the HFS volume which contain the embedded volume are mapped out of the HFS allocation file as ''bad blocks''.<ref name="tn1150" /> Notable among file systems used for Unix systems, HFS Plus does not support [[sparse file]]s. There are nine structures that make up a typical HFS Plus volume:<ref name="tn1150" /> # Sectors 0 and 1 of the volume are HFS '''[[Boot sector|boot blocks]]'''. These are identical to the boot blocks in an HFS volume. They are part of the HFS wrapper.<ref>{{cite web|url=https://developer.apple.com/library/archive/documentation/mac/Files/Files-101.html#HEADING101-0|title=Boot Blocks|work=Inside Macintosh|date=July 2, 1996|publisher=Apple Inc.}}</ref> # Sector 2 contains the ''Volume Header'', which is equivalent to the Master Directory Block in an HFS volume. The Volume Header stores a wide variety of data about the volume itself, for example the size of allocation blocks, a timestamp that indicates when the volume was created or the location of other volume structures such as the Catalog File or Extent Overflow File. The Volume Header is always located in the same place. # The ''Allocation File'' which keeps track of which allocation blocks are free and which are in use. It is similar to the Volume Bitmap in HFS, in which each allocation block is represented by one bit. A zero means the block is free and a one means the block is in use. The main difference with the HFS Volume Bitmap, is that the Allocation File is stored as a regular file โ it does not occupy a special reserved space near the beginning of the volume. The Allocation File can also change size and does not have to be stored contiguously within a volume. # The ''Catalog File'' is a [[B-tree]] that contains records for all the files and directories stored in the volume. The HFS Plus Catalog File is very similar to the [[Hierarchical File System (Apple)#Design|HFS Catalog File]], the main differences being records are larger to allow more fields and to allow for those fields to be larger (for example to allow the longer 255-character unicode file names in HFS Plus). A record in the HFS Catalog File is 512 bytes in size; a record in the HFS Plus Catalog File is 4 KB in the classic Mac OS and 8 KB in [[macOS]]. Fields in HFS are of fixed size, while in HFS Plus the size can vary depending on the actual size of the data they store. # The ''Extents Overflow File'' is another B-tree that records the allocation blocks that are allocated to each file as extents. Each file record in the Catalog File is capable of recording eight extents for each fork of a file; once those are used additional extents are recorded in the Extents Overflow File. Bad blocks are also recorded as extents in the Extents Overflow File. The default size of an extent record in the classic Mac OS is 1 KB and 4 KB in macOS. # The ''Attributes File'' is a new B-tree in HFS Plus that does not have a corresponding structure in HFS. The Attributes File can store three different types of 4 KB records: ''Inline Data Attribute'' records, ''Fork Data Attribute'' records and ''Extension Attribute'' records. Inline Data Attribute records store small attributes that can fit within the record itself. Fork Data Attribute records contain references to a maximum of eight extents that can hold larger attributes. Extension Attributes are used to extend a Fork Data Attribute record when its eight extent records are already used. # The ''Startup File'' is designed for non-Mac OS systems that lack HFS or HFS Plus support. It is similar to the Boot Blocks of an HFS volume. # The second-to-last sector contains the ''Alternate Volume Header'', which is equivalent to the Alternate Master Directory Block of HFS. This is the second-to-last-sector for the disk, not the volume; if the disk is larger than the volume, the AVH will be outside the range of the filesystem. # The last sector in the volume is reserved for use by Apple. It is used during the computer manufacturing process.<ref name="tn1150" /> == Criticisms == HFS Plus lacks several features considered staples of modern file systems like [[ZFS]] and [[NTFS]].<ref>{{cite web|url=https://www.zdnet.com/article/wwdcs-biggest-disappointment/|title=WWDC's biggest disappointment โ ZDNet|first=Robin|last=Harris|website=[[ZDNet]]|url-status=live|archive-url=https://web.archive.org/web/20151022030417/http://www.zdnet.com/article/wwdcs-biggest-disappointment/|archive-date=2015-10-22}}</ref> Data [[Checksum|checksums]] are the most routinely cited missing feature.<ref name=siracusa>{{cite web|url=https://arstechnica.com/apple/2011/07/mac-os-x-10-7/12/|title=Mac OS X 10.7 Lion: the Ars Technica review|publisher=Ars Technica|author=John Siracusa|date=July 20, 2011|access-date=18 January 2017|url-status=live|archive-url=https://web.archive.org/web/20161222061714/http://arstechnica.com/apple/2011/07/mac-os-x-10-7/12/|archive-date=22 December 2016}}</ref> Besides checksumming, features of modern file systems that HFS+ lacks include: * nanosecond timestamps<ref name=siracusa /> * [[concurrency (computer science)|concurrent]] access (that is, more than one process can access the filesystem at the same time)<ref name=siracusa /> * [[Snapshot (computer storage)|snapshotting]]<ref name=siracusa /> * Support for dates beyond February 6, 2040<ref>{{Cite web|url=http://forensicswiki.org/wiki/Mac_OS_X#HFS.2FHFS.2B_date_and_time_values|title=Mac OS X โ ForensicsWiki|website=forensicswiki.org|language=en|access-date=2017-04-09|archive-url=https://web.archive.org/web/20170410052933/http://forensicswiki.org/wiki/Mac_OS_X#HFS.2FHFS.2B_date_and_time_values|archive-date=2017-04-10|url-status=live}}</ref> * sparse file support<ref name=siracusa /> * a better implementation of hard links (in other filesystems, these are typically multiple directory entries pointing to the same data blocks; hard links in macOS are implemented as small files that are stored in a special hidden directory)<ref name=siracusa /> HFS Plus was not designed for [[Unix-like]] systems, so features such as [[file system permissions]] and [[hard link]]s had to be retrofitted when Apple moved to Mac OS X.<ref name=siracusa /> == Other operating systems == === Linux === The [[Linux kernel]] includes the hfsplus module<ref>{{cite web|url=https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/hfsplus;hb=HEAD|archive-url=https://archive.today/20120709100649/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/hfsplus;hb=HEAD|url-status=dead|archive-date=2012-07-09|title=kernel/git/torvalds/linux.git โ Linux kernel source tree}}</ref> for mounting HFS+ filesystems read-write. HFS+ [[fsck]] and [[mkfs]] have been ported to [[Linux]] and are part of the hfsprogs package.<ref>{{cite web|url=http://packages.debian.org/sid/hfsprogs|title=Debian โ Details of package hfsprogs in sid|url-status=live|archive-url=https://web.archive.org/web/20090703165004/http://packages.debian.org/sid/hfsprogs|archive-date=2009-07-03}}</ref> In 2009, these drivers were diagnosed to be corrupting HFS+ drives with a capacity greater than 2 TB.<ref>{{Cite web|url=https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5c36fe3d87b3f0c85894a49193c66096a3d6b26f|archive-url=https://archive.today/20120711142712/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5c36fe3d87b3f0c85894a49193c66096a3d6b26f|url-status=dead|archive-date=2012-07-11|title=kernel/git/torvalds/linux.git โ Linux kernel source tree|website=git.kernel.org|access-date=2016-10-14}}</ref> Consequently, Linux distributions such as Debian and Ubuntu stopped allowing mounting of HFS+ drives or partitions greater than 2 TB.<ref>{{cite web|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550010|title=#550010 โ hfsplus corrupts filesystems >2TB โ Debian Bug report logs|access-date=2011-02-17|archive-url=https://web.archive.org/web/20160108163119/https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550010|archive-date=2016-01-08|url-status=live}}</ref> {{As of|2011|2}}, work is in progress to lift this restriction.<ref>{{cite web|url=http://www.spinics.net/lists/linux-fsdevel/msg42242.html|title=[PATCH 2/3] hfsplus: lift the 2TB size limit โ Linux Filesystem Development|url-status=live|archive-url=https://web.archive.org/web/20110718213210/http://www.spinics.net/lists/linux-fsdevel/msg42242.html|archive-date=2011-07-18}}</ref> {{update after|2015|5|3}} Under Linux's current HFS+ driver, journaling must be disabled in order to write data safely onto an HFS+ partition. Provided the partition isn't being used by Apple's [[Time Machine (macOS)|Time Machine]] software, journaling can be disabled under macOS:<ref name="superuser-force">{{cite web|url=http://superuser.com/questions/84446/how-to-mount-a-hfs-partition-in-ubuntu-as-read-write|title=How to mount a HFS partition in Ubuntu as Read/Write?|url-status=live|archive-url=https://web.archive.org/web/20111130084754/http://superuser.com/questions/84446/how-to-mount-a-hfs-partition-in-ubuntu-as-read-write|archive-date=2011-11-30}}</ref> Using Disk Utility in OS X Yosemite, the user may hold Alt/Option and click "Disable Journaling" on the File menu, having first selected a mounted partition. An HFS+ partition with journaling enabled may be forcibly mounted with write access under Linux, but this is unsupported and unwise.<ref name="superuser-force"/><ref>{{Citation | title = Macintosh HFSPlus Filesystem for Linux | last = Banks | first = Wyatt | date = 2007-07-31<!-- 00:38:10 -0700--> | url = https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/filesystems/hfsplus.txt;hb=60fd4d6a1953accd3d57f8e4f3b0f4692598bf4e | url-status = dead | archive-url = https://archive.today/20120722061818/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/filesystems/hfsplus.txt;hb=60fd4d6a1953accd3d57f8e4f3b0f4692598bf4e | archive-date = 2012-07-22 }}</ref> A [[Google Summer of Code]] project to implement write support to journaled HFS+<ref>{{cite web|url=http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/naota/1|title=Implement HFSPlus Journal on Linux|archive-url=https://web.archive.org/web/20110405082701/http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/naota/1|archive-date=April 5, 2011}}</ref> was accepted by the Linux Foundation in 2011 but was not completed at that time and is still a work in progress. Progress and improvements to the HFS+ driver, including some updates to journaling support, are posted on the linux-fsdevel mailing list<ref>{{cite web|url=http://marc.info/?l=linux-fsdevel&w=2&r=1&s=hfsplus&q=b|title='hfsplus' in linux-fsdevel โ MARC|access-date=2012-09-21|archive-url=https://web.archive.org/web/20160108163118/http://marc.info/?l=linux-fsdevel&w=2&r=1&s=hfsplus&q=b|archive-date=2016-01-08|url-status=live}}</ref> from time to time. {{As of|2011|7}}, [[Paragon Software Group]] provided kernel drivers that allow full read-write access to HFS+ journaled volumes.<ref>{{cite web|url=http://www.paragon-software.com/home/ntfs-linux-per/|title=Overview โ Paragon NTFS&HFS+ for Linux 9.5 Express|access-date=2012-06-29|archive-url=https://web.archive.org/web/20110806092933/http://www.paragon-software.com/home/ntfs-linux-per/|archive-date=2011-08-06|url-status=live}}</ref> The product is a proprietary implementation of HFS+ based on Paragon's proprietary UFSD library. There are both free and paid editions of the driver, and they include a utility for checking and repairing HFS+ volumes. According to the online documentation (free version<ref>{{cite web|url=http://www.paragon-software.com/home/ntfs-linux-per/features.html|title=Full Features โ Paragon NTFS/HFS+ for Linux 9.5 Express|access-date=2012-09-21|archive-url=https://web.archive.org/web/20120903064043/http://www.paragon-software.com/home/ntfs-linux-per/features.html|archive-date=2012-09-03|url-status=live}}</ref> or the paid edition<ref>{{cite web|url=http://www.paragon-software.com/business/ntfs-linux-professional/features.html|title=Full features โ Paragon NTFS&HFS+ for Linux 9.5 Professional|access-date=2012-09-21|archive-url=https://web.archive.org/web/20121202071435/http://www.paragon-software.com/business/ntfs-linux-professional/features.html|archive-date=2012-12-02|url-status=live}}</ref>), both the free edition and the paid edition currently support Linux kernels from 2.6.36 up to 4.12.x. [[Ubuntu (operating system)|Ubuntu]], [[Debian]], [[Fedora Linux]], [[Rocky Linux]], [[Red Hat Enterprise Linux]], [[OpenSUSE]] and [[CentOS]] are the only Linux distributions officially supported.<ref>{{cite web|url=http://www.paragon-software.com/home/ntfs-linux-professional/faq.html|title=FAQ & Glossary โ Paragon NTFS&HFS+ for Linux 9.5 Professional|access-date=30 June 2016|archive-url=https://web.archive.org/web/20160607171924/http://www.paragon-software.com/home/ntfs-linux-professional/faq.html|archive-date=2016-06-07|url-status=live}}</ref> === Windows === As of May 2012, Apple has only released read-only HFS+ drivers for Windows XP, Windows Vista, and Windows 7 as part of the [[Boot Camp (software)|Boot Camp]] software in [[Mac OS X Snow Leopard|Mac OS X 10.6]].<ref>{{cite web |url=https://support.apple.com/downloads/bootcamp |title=Apple โ Support โ Downloads โ Bootcamp |website=apple.com |access-date=2016-10-18 |url-status=live |archive-url=https://web.archive.org/web/20161019152644/https://support.apple.com/downloads/bootcamp |archive-date=2016-10-19 }}</ref> This means users on these systems can read data on the HFS+ drive, but not write to them. Microsoft has created an HFS+ driver for the Xbox 360 mainly for the purpose of reading HFS+-formatted iPods.{{cn|date=October 2016}} A free and opensource software โ jHFSplus, based on HFSExplorer and jpfm โ can be used to mount hfs/hfs+ partitions as read-only virtual folders.<ref>{{cite web |url=https://sourceforge.net/projects/jhfsplus/ |title=jHFSplus |publisher=Shashank Tulsyan |date=2011-06-29 |url-status=live |archive-url=https://web.archive.org/web/20110709042442/http://sourceforge.net/projects/jhfsplus/ |archive-date=2011-07-09 }}</ref> A freeware plugin for [[Total Commander]] exists, that can read, among others, HFS and HFS+ filesystems.<ref>{{cite web |url=http://www.diskinternals.com/reader-for-tc/ |title=DiskInternals Reader for Total Commander |publisher=DiskInternals |date=2011-03-16 |access-date=2011-11-23 |url-status=live |archive-url=https://web.archive.org/web/20111116030040/http://www.diskinternals.com/reader-for-tc |archive-date=2011-11-16 }}</ref> DiskInternals Linux Reader can be used to extract/save folders/files out of HFS and HFS+ Hard Drives/Partitions.<ref>{{cite web |url=http://www.diskinternals.com/linux-reader/ |title=DiskInternals Linux Reader |publisher=DiskInternals |access-date=2016-10-18 |url-status=live |archive-url=https://web.archive.org/web/20120406183418/http://www.diskinternals.com/linux-reader |archive-date=2012-04-06 }}</ref> A commercial product, MacDrive, is also available for mounting HFS and HFS+ drives, optical discs, and other media in Windows Explorer, and allows both reading and writing to the volume, as well as repairing and formatting Mac disks.<ref>{{cite web |url=http://www.mediafour.com/products/macdrive/standard |title=MacDrive 9 Standard |publisher=Mediafour |date=2013-09-19 |access-date=2013-09-19 |url-status=dead |archive-url=https://web.archive.org/web/20130921020510/http://www.mediafour.com/products/macdrive/standard |archive-date=2013-09-21 }}</ref> A commercial product, Paragon's HFS+ for Windows allows full read and write and disk management from all versions of Windows from Windows XP to Windows Server 2008.<ref>{{Cite web|url=http://www.paragon-software.com/home/hfs-windows/|title=Write HFS+ volumes in Windows โ Paragon HFS+ for Windows|access-date=2016-10-14|archive-url=https://web.archive.org/web/20161013093423/https://www.paragon-software.com/home/hfs-windows/|archive-date=2016-10-13|url-status=live}}</ref> === Cross-platform === A [[Free software|free]] ([[GNU General Public License|GPL]]) alternative is HFSExplorer written by Erik Larsson.<ref>{{cite web |url=http://www.catacombae.org/hfsexplorer/ |website=Catacombae |title=HFSExplorer |publisher=Erik Larsson |date=2015-10-13 |access-date=2018-09-23 |url-status=live |archive-url=https://web.archive.org/web/20180924203323/http://www.catacombae.org/hfsexplorer/ |archive-date=2018-09-24 }}</ref> HFSExplorer is a Java application for viewing and extracting files from an HFS+ volume (Mac OS Extended) or an HFSX volume (Mac OS Extended, Case-sensitive). The volume can be located either on a physical disk, in various [[Apple Disk Image|Apple disk image]] and [[Sparse image| sparse disk image formats]], or a raw file system dump. However, HFSExplorer is a read-only solution; it cannot write to HFS-formatted volumes. == See also == *[[Comparison of file systems]] *[[Apple File System]] โ replaced HFS+ in 2017 == References == {{Reflist|30em}} == External links == * [http://www.catacombae.org/hfsx.html hfsexplorer] โ Open Source Explorer for MS-Windowsยฎ written in Java, with support for HFS, HFS+, and HFSX * [https://developer.apple.com/legacy/library/technotes/tn/tn1150.html Apple "legacy" Technote 1150] โ HFS Plus Volume Format * [https://developer.apple.com/legacy/library/technotes/tn/tn1189.html Apple "legacy" Technote 1189] โ The Monster Disk Driver Technote * [http://www.osxbook.com/software/hfsdebug/ hfsdebug] {{Webarchive|url=https://web.archive.org/web/20090725161028/http://osxbook.com/software/hfsdebug/ |date=2009-07-25 }} โ A debugger for HFS Plus volumes by Amit Singh * [http://packages.debian.org/sid/hfsprogs hfsprogs] โ Userspace support tools for HFS+ filesystems under Linux systems (adapted from Apple's native tools). * [http://apps.tempel.org/iBored/ iBored] โ A disk editor and viewer supporting HFS Plus * [http://www.mediafour.com/products/macdrive MacDrive] โ A commercial product for reading, writing and creating HFS and HFS+ volumes in Windows * [http://newosxbook.com/index.php?page=downloads#HFSleuth HFSleuth] โ A free command line tool allowing the inspection of HFS+/HFSX volumes and Disk Images (DMGs) for macOS and Linux * [https://arstechnica.com/apple/2011/07/mac-os-x-10-7/12/ Mac OS X 10.7 Lion: the Ars Technica review] โ A criticism about this file system {{macOS}} {{Mac OS}} {{Filesystem}} [[Category:Disk file systems]] [[Category:Apple Inc. file systems]] [[Category:Macintosh operating systems]] [[Category:MacOS]] [[Category:Computer file systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:As of
(
edit
)
Template:Citation
(
edit
)
Template:Cite web
(
edit
)
Template:Cn
(
edit
)
Template:Filesystem
(
edit
)
Template:Infobox filesystem
(
edit
)
Template:MacOS
(
edit
)
Template:Mac OS
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Update after
(
edit
)
Template:Webarchive
(
edit
)