Hi, what exactly does the term embedded volume mean? I've noticed that the HFS MDB has some fields related to this but the HFS+ volume header doesn't seem to. I'm not really using these fields but I'd like to know what they're used for in any case. So if anyone could enlighten me I'd appreciate it.
Regards, Nandini Hengen
I'm not sure exactly what you're referring to, but heres a few pointers.
The volume is the thing that you mount on your computer which provides files. It represents the single mount point which appears as a disk on your computer. The HFS Wrapper is a HFS partition consisting of a massive consecutive bad block file, which happens to be a HFS+ partition thats embedded in the HFS volume. The important difference between HFS+ and HFS is that wheras in HFS certain files (Device Drivers, Boot System Files, Allocation Bitmap) exist at various physical disk locations (sector 0, sector, sector 4 etc) and the MDB only gives the location to the Catalog and Extent files. Also there are 2 different address spaces, physical (in sectors), and logical (in blocks, starting at 0, after the end of the volume bitmap, at the location described in the MDB as the start of free space). HFS+ has very little (if any) system files at fixed locations, and everything is referred to in the volume descriptor (replaces the MDB), in the way the Catalog and Extent files was before.
Hope that explains everything, if not give me the names of the variable in the HFS and HFS+ volume descriptors and I'll explain what they mean.
Simon
Entwicklung wrote:
Hi, what exactly does the term embedded volume mean? I've noticed that the HFS MDB has some fields related to this but the HFS+ volume header doesn't seem to. I'm not really using these fields but I'd like to know what they're used for in any case. So if anyone could enlighten me I'd appreciate it. Regards,Nandini Hengen
Hello, Thanks for replying... was hoping that someone would respond!
I was referring to the fields: UInt16 drEmbedSigWord ;//embedded volume signature - formerly drVCSize and HFSExtentDescriptor drEmbedSigWord ;//embedded volume location and size - formerly drVBMCSize and drCtlCSize
I think what you mentioned about Wrappers is relevant to what I wanted to know though I don't see the purpose of having a HFS+ partition embedded in a HFS volume (?). Why would anyone want an embedded partition when all data could be stored in the original HFS partition? I've just set these fields to 0 right now and I fail to see a situation where I (a third-party HFS-volume developer) would ever need these. Any tips?
Regards, Nandini Hengen
----- Original Message ----- From: "Simon Bazley" sibaz@sibaz.com To: "Entwicklung" entwicklung@whengenibk.de Cc: hfs-user@lists.mars.org Sent: Friday, February 22, 2002 2:51 PM Subject: Re: [hfs-user] Embedded volume..
I'm not sure exactly what you're referring to, but heres a few pointers.
The volume is the thing that you mount on your computer which provides files. It represents the single mount point which appears as a disk on your computer. The HFS Wrapper is a HFS partition consisting of a massive consecutive bad block file, which happens to be a HFS+ partition thats embedded in the HFS volume. The important difference between HFS+ and HFS is that wheras in HFS certain files (Device Drivers, Boot System Files, Allocation Bitmap) exist at various physical disk locations (sector 0, sector, sector 4 etc) and the MDB only gives the location to the Catalog and Extent files. Also there are 2 different address spaces, physical (in sectors), and logical (in blocks, starting at 0, after the end of the volume bitmap, at the location described in the MDB as the start of free space). HFS+ has very little (if any) system files at fixed locations, and everything is referred to in the volume descriptor (replaces the MDB), in the way the Catalog and Extent files was before.
Hope that explains everything, if not give me the names of the variable in the HFS and HFS+ volume descriptors and I'll explain what they mean.
Simon
Entwicklung wrote:
Hi, what exactly does the term embedded volume mean? I've noticed that the HFS MDB has some fields related to this but the HFS+ volume header doesn't seem to. I'm not really using these fields but I'd like to know what they're used for in any case. So if anyone could enlighten me I'd appreciate it. Regards,Nandini Hengen
On Friday, February 22, 2002, at 06:05 AM, Entwicklung wrote:
I was referring to the fields:
UInt16 drEmbedSigWord ;//embedded volume signature - formerly drVCSize and HFSExtentDescriptor drEmbedSigWord ;//embedded volume location and size - formerly drVBMCSize and drCtlCSize
These fields are used when you have an HFS Plus volume with an HFS wrapper. These fields describe the size and location of the HFS Plus volume that is embedded inside the HFS wrapper. The drEmbedSigWord tells you that there is an embedded HFS Plus volume, and that the extent descriptor is valid.
I think what you mentioned about Wrappers is relevant to what I wanted to know though I don't see the purpose of having a HFS+ partition embedded in a HFS volume (?).
See http://developer.apple.com/technotes/tn/tn1150.html#HFSWrapper
It says:
An HFS Plus volume may be contained within an HFS volume in a way that makes the volume look like an HFS volume to systems without HFS Plus support. This has two important advantages:
1. It allows a computer with HFS (but no HFS Plus) support in ROM to start up from an HFS Plus volume. When creating the wrapper, Mac OS includes a System file containing the minimum code to locate and mount the embedded HFS Plus volume and continue booting from its System file. 2. It improves the user experience when an HFS Plus volume is inserted in a computer that has HFS support but no HFS Plus support. On such a computer, the HFS wrapper will be mounted as a volume, which prevents error dialogs that might confuse the user into thinking the volume is empty, damaged, or unreadable. The HFS wrapper may also contain a Read Me document to explain the steps the user should take to access their files.
(That is, it greatly eased the transition from HFS to HFS Plus for Macintosh users. Note that HFS wrappers aren't required to boot Mac OS X, so wrappers are becoming less important, and may stop being used at some point in the future.)
Why would anyone want an embedded partition when all data could be stored in the original HFS partition?
With large volumes, you might not be able to store all the data on a pure HFS volume because the allocation block size is too large. The most important reason for HFS Plus was to increase the number of allocation blocks, so each allocation block could be smaller, and allowing you to put more files on a volume.
For example, the HFS Plus volume I'm booted from right now has about 170,000 files on it. Since HFS can have at most 64K allocation blocks, there's no way I could put that many files on an HFS volume -- no matter how big it is.
Since the Mac OS ROM only knows how to boot from HFS volumes, having an embedded HFS Plus volume means I can boot from it directly, rather than having to partition my disk with an HFS boot volume and an HFS Plus volume for all my data.
I've just set these fields to 0 right now and I fail to see a situation where I (a third-party HFS-volume developer) would ever need these. Any tips?
If you only want to produce pure HFS volumes (with no embedded HFS Plus volume), setting the fields to zero is correct.
-Mark
I noticed that the technical notes also mentioned - 'An HFS Plus volume is not required to have an HFS wrapper. In that case, the volume will start at the first sector of the disk, and the volume header will be at sector 2. However, Apple software currently initializes all HFS Plus volumes with an HFS wrapper.'
Mark Day wrote : 'Since the Mac OS ROM only knows how to boot from HFS volumes, having an embedded HFS Plus volume means I can boot from it directly, rather than having to partition my disk with an HFS boot volume and an HFS Plus volume for all my data.'
Simon Bazley wrote: 'You can create a HFS+ volume without the HFSWrapper if you like, but old macs will just erase the disk for you if they encounter it. Hence all new Macs use HFS Wrappers.'
Going by the above statements could I conclude that if I want to create a non-bootable volume (a HFS/HFS+ CD-ROM to be specific) I don't need to consider using an embedded volume at all?
I have a couple of questions to what Simon wrote - If my external HFS+ volume happens to be on a CD-ROM which is in any case a one-time writable medium, how could older macs 'erase' the disk? I guess that probably happens to CD-RW's which can be formatted or erased..... or did you mean something else ?
And if I do have a wrapper on a HFS+ volume and insert it into an older Mac, it would anyway not be readable though it doesn't get erased, right ?
Regards, Nandini Hengen
On Friday, February 22, 2002, at 09:29 AM, Entwicklung wrote:
Going by the above statements could I conclude that if I want to create a non-bootable volume (a HFS/HFS+ CD-ROM to be specific) I don't need to consider using an embedded volume at all?
That's reasonable.
And if I do have a wrapper on a HFS+ volume and insert it into an older Mac, it would anyway not be readable though it doesn't get erased, right ?
You wouldn't be able to access the files in the embedded volume. The volume would at least show up on the desktop (instead of producing an error dialog). And if the wrapper has a "read me" file, the user at least has a clue about why they can't access the files.
-Mark
I'm exadurating when I say it will erase the disk. The mac won't recognise the disk as formated so at best will run a disk fixer on it, or at worst will reformat it. I'm guessing it would ask you if its ok before doing this. If you put a normal one time CD in then as you say, the mac couldn't erase it and would just complain that it can't understand it. If you put in a CDRW then I don't know what it would do. I expect it would ask you if its a new CD before going ahead and erasing it. Id be supprised if a system with no HFS+ support knew anything about CDRW's anyway.
Using a HFS Wrapper is nice and neat and takes up all of about 4k from your disk, without any files on it (A default mac created HFS floppy disk image has 24k of data on it, when 2 files are present). Its very little effort on your part to make a HFS Wrapper for your CD, and it'd keep everyone happy. If it was me, I'd make the wrapper, unless you need every last k of the CD.
Simon
Entwicklung wrote:
I noticed that the technical notes also mentioned - 'An HFS Plus volume is not required to have an HFS wrapper. In that case, the volume will start at the first sector of the disk, and the volume header will be at sector 2. However, Apple software currently initializes all HFS Plus volumes with an HFS wrapper.'
Mark Day wrote : 'Since the Mac OS ROM only knows how to boot from HFS volumes, having an embedded HFS Plus volume means I can boot from it directly, rather than having to partition my disk with an HFS boot volume and an HFS Plus volume for all my data.'
Simon Bazley wrote: 'You can create a HFS+ volume without the HFSWrapper if you like, but old macs will just erase the disk for you if they encounter it. Hence all new Macs use HFS Wrappers.'
Going by the above statements could I conclude that if I want to create a non-bootable volume (a HFS/HFS+ CD-ROM to be specific) I don't need to consider using an embedded volume at all?
I have a couple of questions to what Simon wrote - If my external HFS+ volume happens to be on a CD-ROM which is in any case a one-time writable medium, how could older macs 'erase' the disk? I guess that probably happens to CD-RW's which can be formatted or erased..... or did you mean something else ?
And if I do have a wrapper on a HFS+ volume and insert it into an older Mac, it would anyway not be readable though it doesn't get erased, right ?
Regards, Nandini Hengen
Hi,
An "embedded volume" refers to an HFS+ volume that's tucked away inside an HFS volume (the so-called "wrapper volume"). The usual reason is that older systems may know how to mount HFS disks but not HFS+ disks and the wrapper volume usually just has a note explaining the volume can't be mounted but their files aren't lost.
Systems that DO know how to mount HFS+ volumes also know how to recognize embedded volumes and mount the embedded HFS+ volume instead of the wrapper volume. I believe by default volumes initialized on a Mac in "Mac OS Extended Format" (HFS+) are created as wrapped volumes with an embedded HFS+ volume, although that may have changed in a recent build.
Hope that helps, -Pat Dirks.
On Thursday, February 21, 2002, at 11:32 PM, Entwicklung wrote:
Hi, what exactly does the term embedded volume mean? I've noticed that the HFS MDB has some fields related to this but the HFS+ volume header doesn't seem to. I'm not really using these fields but I'd like to know what they're used for in any case. So if anyone could enlighten me I'd appreciate it. Regards, Nandini Hengen