Best practices for HDs containing several partitions

Hello everybody,
this is not an issue related to a specific installation or version of eaasi, but more general, what is recommended for the use with eaasi.

What is the best way to treat HDs with multiple partitions?
Shall they be splitted up into one image per partition, or rather one image for the entire HD?
And how would the selecting and mounting in eaasi work?

Can one image be attached more than once to a VM and each time another partition be mounted by starting from another offset?
Or is this not recommended at all?

How do you handle such cases?
Many thanks in advance!

Best,
Stephan

Greetings @nb_glur - apologies for taking some time before responding, these are good questions and I wanted to do some investigation and testing to make any kind of recommendation. We haven’t attempted to emulate multi-partition drives at Yale and I’m not aware of this question previously coming up among the U.S.-based EaaSI user group so this required a bit of thought.

EaaSI is as agnostic as possible in terms of attaching and mounting images. EaaSI only distinguishes images in terms of the physical media type they are supposed to represent - floppy, CD-ROM/ISO, or a hard disk drive. It does this just to map and attach the image to an appropriate physical drive slot depending on what the underlying emulator supports or requires (QEMU, for instance, emulates distinct floppy, cdrom, and hard disk/solid-state-type block drives, whereas SheepShaver and Basilisk only separate cdrom and then “disk”-type drives in which it reads both floppy and hard-disk type images). From there, once the physical drive has been emulated and an image attached to it, the behavior of how the VM can or is going to mount that physical drive’s contents by default is going to depend on the capabilities of the guest operating system, or possibly the emulator’s, not EaaSI’s.

So per:

No, to my knowledge a single image can not be “physically” attached (by EaaSI) multiple times to a single VM/environment, but a single image containing multiple partitions should be attached (by EaaSI) once to an environment, and then the multiple partitions within the image could theoretically be mounted separately within the guest by the guest, using offsets.

On the whole, unless there is a compelling, known need or requirement for viewing and manipulating the contents of multiple partitions within a single guest OS, I would probably recommend creating separate images of partitions and uploading them as separate resources, just to narrow down the amount of troubleshooting and mounting/manipulation that might need to be performed within the guest, and since the original purpose of the partitioning is usually to isolate materials and/or software intended for distinct computing environments in the first place (e.g. a single hard drive partitioned having both NTFS and HFS+ - formatted partitions intended to have one partition usable in Windows and the other on MacOS).

This would apply to importing full system HDs with multiple, bootable operating systems on them as separate “Computer Image” resources as well; though I will note that, at least for x86-based guest systems, QEMU’s default open-source BIOS can handle multi-boot from a single disk image (adding the -boot menu=on flag to the Emulator Configuration for relevant environments should allow the user to manually select which partition to boot, otherwise it will quickly default to booting the first bootable partition). So it’s definitely possible to run and use dual-boot systems as a single environment in EaaSI.

That is all obviously pretty dependent on at least a general sense of what the different partitions of the drive contain (both in terms of filesystems and actual contents/data), their purpose, and the ultimate aim of the emulation. So I could also see uploading a single image for the entire HD for the purpose of inspecting it in emulation and using a legacy VM environment to get a better sense of the drive’s contents and purpose in the first place. Hopefully this at least gives some better sense of what EaaSI is doing re: attaching vs. mounting and why you might go one way or the other?

I’d also be curious to tag @Cynde_Moya here just to see if the AusEaaSI folks have had any reason to work with multiple-partition drives yet, and if so have any more practical experience or workflow suggestions!

Thank you for tagging me. I have only worked with single OS drives, both Windows and Mac, with good success. We haven’t done any multi-partition work yet, so thanks in advance for the tips.
Cynde

Hi @ethan.gates

many thanks for your thorough answer!
I had to do some experiments on my side too, so please excuse my late response.

I fully see your point of eaasi has to be as agnostic as can be.
And that every attached image has to be treated as a pyhisical media type.

So this would on first glance point to always create and archive images containing the entire physical medium as well.
But this would ask much more knowledge of a user running the image in an emulator.
Maybe he/she does not know, that the principle boot partition is not the one he/she wants to boot. So the user would need to know how to handle the bootmenu, if available at all.

In addition also for cases where booting into an emulator is not the principal use case, but rather the direct access and work on single files from the image, there saving partitions into separate images seems much more practical.
(Although I know that the German Literature Archive in Marbach for instance always saves entire media images)

So I experimented a little with adding an MBR and a modied partition table to a partition image.
And finally got it working. I was able modify a partition image to be bootable in qemu again.

So this brings me to the next question.
In eaasi, there exist some generalizing scripts, to make images runnable on the emulators “hardware” (mainly for Windows, I think).
Wouldn’t it be practical and possible to extend theses scripts (or have other scripts in addition) in case an image is selected as bootable and obviously there is no MBR and no partition table contained, to prepend a matching one?

What do you think?

Many thanks and BR,
Stephan

Yes, agreed, I didn’t want to rule it out entirely (and only mentioned the QEMU boot menu options to say that at least it’s possible) but in most any use case for EaaSI (allowing a user to interact with some particular piece of software or legacy digital content in its intended environment), fussing with boot menus is not at all the intended endpoint experience, and better to “process” the image outside of EaaSI as you did and then bring it back in once closer to that intended user experience.

And yes, generally speaking that might make sense to have such a scripted option, but I’m afraid I can’t see it likely that we would be able to add/implement such a feature for some time. As I noted in the other thread, we’re taking time to make sure the core platform and feature-set are properly maintainable, and beyond that the roadmap is for the foreseeable future focused on improved access control and permissions for resource ownership, storage, sharing, etc. We do hope a result of our ongoing maintenance effort is to make the codebase much more transparent for potential contribution, at least! It is just difficult to balance all the many wonderful things we could do with EaaSI with, for the moment, quite a small dev team :slight_smile:

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.