Read only filesystem after installing Zorin18 on a macbook

I'm trying to install Zorin OS Core 18 to an old Macbook (MacBook Pro, Retina, 15", mid-2015, with an Intel quad-core i7 processor). The install process goes well, but when it finishes and I reboot the computer, I'm not able to do anything because the whole system is read-only.

If I reboot the computer, I'm oriented to a command line interface entitled BusyBox v1.36.1, with an (initramfs) prompt. I don't know what to do here.

If I try to boot with the key containing ZorinOS, I'm able to write on the disk. But the situation is still the same if I reboot.

What can I do ?

With a MacBook, the first thing that comes to mind is Mac's notorious troubles with EFI, especially around 2015...

I recommend installing using rEFInd, instead of grub, for MacBooks of that era:

1 Like

Thanks, I'll try this this evening and I'll tell you if that worked.

@Aravisian I'm sorry, but this solved only one of the two problems.

Now on the first reboot after installation I'm able to write something to the disc.

But after rebooting once more, I'm still having the weird initramfs prompt.

From that prompt, run

blkid

And relay the results here...

/dev/sda2: UUID="some_id" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="some_other_id"
/dev/sda1: UUID="another_id" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="yet_another_id"

I also tried the solution mentioned here : https://askubuntu.com/a/817660/764308, but it seems to have corrected the issue only for a few minutes (I was able to create and edit a text file in the desktop, but after two minutes have passed I was not able to edit the file anymore).

So you tried this?

fsck -fy /dev/sda2

If that worked for a moment, that suggests I/O errors.
Anything show with

dmesg | grep -i error

Or:

dmesg | grep -i sda

For the first one:

[    0.424612] RAS: Correctable Errors collector initialized

For the second one (I'll copy only what's after sda for the lines after the first:

[    0.966535] sd 0:0:0:0: [sda] 490234752 512-byte logical blocks: (251 GB/234 GiB)
4096-byte physical blocks
Write Protect is off
Mode Sense: 00 3a 00 00
Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Preferred minimum I/O size 4096 bytes
sda: sda1 sda2
Attached SCSI disk

Well, that shows no I/O errors. So at least it is not likely a failing drive...

Normally, I would head for fsck on an issue like this. You tried that already...
But, running it from a LiveUSB is more thorough than from the initramfs prompt...
I would boot the LiveUSB
Open terminal
Then run

sudo fsck -f /dev/sda2

Do Not Mount the sda drive. Running fsck should only be done on unmounted partitions or drives.

Note that there is no -y flag - It may be annoying to have to tap yes at prompts; but this can show you what is needing repair.

Thanks, I'll do it in a few minutes and then go sleep.

1 Like

I don't seem to see much more than when it was done in the previous console.

And sadly it didn't fix the issue : the drive is still in read-only mode once I'm booting normally.

Thanks for all the help for today.

I was wondering (with a slightly clearer mind) : does reinstalling the OS erases rEFInd?

If that's so, I may have to try again this evening.

Yes, it would have that effect.

Sadly, I've tried again, and even with rEFInd, I'm not able to have the system working.

I'm still experiencing the disk going to read-only mode one minute or two after opening the session.

(I'm opening a text file just after the session opens, I'm writing something into it, and I can save the first time. Then the next time I try to write and save, I've got an error telling me the disk is read-only).

Can you reboot. Then, launch terminal and run

dmesg -w

and leave that running. Then open or create a text file and try write, save - then write, save until it fails.

We want what dmesg -w captures and prints in the terminal.
If you can relay that here.

I didn't even had the time to run the command : in the few seconds needed to look for the terminal, launch it, and type the command the disk was already locked.

I've got this message (In french) :

dmesg : échec de lecture du {french_word_for_buffer_that_seems_censored} de noyau : Opération non permise

Which I can roughly translate to:

dmesg : failed to read the kernel's buffer : operation not permitted

Edit before sending : maybe that's because I needed the sudo command, I'll reboot and retry.

After rebooting, and seeing the prompt with initramfs again (like always), this time the fsck -y /dev/sda2 returned LOTS of messages. The ones that are still displayed say:

Around 30 references of those (with previous numerous screens looking like those)

Entry X in {path} ({some_id}) had deleted/unused inode {inode_id}. Clear ?

The last dozen of messages were:

Free blocks count wrong for group #{group_id} ({number}, counted {another_number})
Fix ?

Then one message (all letters being different numbers):

Inode bitmaps differences -({T}--{U}) -({V}--{W}) -{X} -({Y}--{Z}})
Fix ?

And 3 messages like this one:

Free inodes count wrong for group #{group_id} ({number}, counted {another_number})
Fix ?

And this time, after trying to login and launch the terminal, I was put out of the GUI and I'm having many messages like this one :

systemd-journal[315]: Failed to write entry to /var/log/journal/{id}/system.journal (22 items, 769 bytes) despite vacuuming, ignoring: Read-only file system (Dropped 2258 similar messages)

I want to make sure this is a hardware issue and not a software issue: I'll try installing another distribution and check if the issue still happens.

1 Like

Yes, I was about to recommend a S.M.A.R.T. test - a failing SSD can definitely cause this.

Can I run this tool from a live-USB ?