An update for 10.5.x: Whether you plug the drive in before booting to single-user mode or after, the drive doesn't seem to show up in /dev here. It DOES in 10.6.x.
What worked for me in 10.5.8 was to load kernel extensions after plugging in the drive:
mount -uw /
launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
[WAIT approx 30 seconds: various log messages scroll by; after the 'kernel link data' error re: /var/run/mach.sym existing already, I continued:]
mkdir /Volumes/usb
mount -t msdos -v /dev/disk1s1 /Volumes/usb
This was on a MacBook with no other disks present, so disk0 was the internal HDD, and I had already determined that disk1 was the flash drive. disk1s1 was the single MS-DOS FAT16 data partition on that drive; hence the '-t msdos' parameter, above. Refer to the man page for mount for other options relevant to other file systems.
If you're on a system with multiple internal disks, you may want to review the disks present in /dev before loading the kexts:
ls /dev/disk*
Then load the kexts as above, then rerun
ls /dev/disk*
and compare to learn the disk ID of your flash (or other) drive.
Note also that the 'root' of each physical disk appears as disk0, disk1, disk2, etc. Those entries are not mountable or accessible. They are the command-line designation of the top-most entry of a disk as listed in Disk Utility's GUI, beneath which the disks data partitions are displayed. Data partitions are labeled e.g. disk0s1, disk0s2, disk1s1, etc.
One more note: you can in fact continue typing your command despite being interrupted by new log messages that crop up (e.g. diskarb errors). It can be tough to keep track of where you are in your command, but if you continue to type it correctly, it will execute.
In 10.6.x, if the drive is connected prior to booting into single-user mode, you need only mount it as usual ('mkdir' and 'mount' lines, above, modified to reflect the ID of your drive).
An aside: the reason I wanted to mount a flash drive here was to be able to run a shell script that reset a clean install after initial setup/login/updates back to 'out-of-box' no-users, Apple Setup Assistant state. See my comment to '10.5: How to reset Leopard back to the setup assistant' here: http://hints.macworld.com/article.php?story=2007110800450816 (can't seem to pin down the link: code syntax, sorry!).
What worked for me in 10.5.8 was to load kernel extensions after plugging in the drive:
mount -uw /
launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
[WAIT approx 30 seconds: various log messages scroll by; after the 'kernel link data' error re: /var/run/mach.sym existing already, I continued:]
mkdir /Volumes/usb
mount -t msdos -v /dev/disk1s1 /Volumes/usb
This was on a MacBook with no other disks present, so disk0 was the internal HDD, and I had already determined that disk1 was the flash drive. disk1s1 was the single MS-DOS FAT16 data partition on that drive; hence the '-t msdos' parameter, above. Refer to the man page for mount for other options relevant to other file systems.
If you're on a system with multiple internal disks, you may want to review the disks present in /dev before loading the kexts:
ls /dev/disk*
Then load the kexts as above, then rerun
ls /dev/disk*
and compare to learn the disk ID of your flash (or other) drive.
Note also that the 'root' of each physical disk appears as disk0, disk1, disk2, etc. Those entries are not mountable or accessible. They are the command-line designation of the top-most entry of a disk as listed in Disk Utility's GUI, beneath which the disks data partitions are displayed. Data partitions are labeled e.g. disk0s1, disk0s2, disk1s1, etc.
One more note: you can in fact continue typing your command despite being interrupted by new log messages that crop up (e.g. diskarb errors). It can be tough to keep track of where you are in your command, but if you continue to type it correctly, it will execute.
In 10.6.x, if the drive is connected prior to booting into single-user mode, you need only mount it as usual ('mkdir' and 'mount' lines, above, modified to reflect the ID of your drive).
An aside: the reason I wanted to mount a flash drive here was to be able to run a shell script that reset a clean install after initial setup/login/updates back to 'out-of-box' no-users, Apple Setup Assistant state. See my comment to '10.5: How to reset Leopard back to the setup assistant' here: http://hints.macworld.com/article.php?story=2007110800450816 (can't seem to pin down the link: code syntax, sorry!).
Flag | Description |
---|---|
-v | Verbose Mode |
-x | Safe Mode |
-s | Single User Mode |
-no-zp | Zone Postponing (use if hanging) |
cpus=1 | Single CPU Core Mode |
-f | No Kext Cache Mode (use if hanging) |
dart=0 | Disables VT-x or VT-d |
nvda_drv=1 | Enable NVIDIA Web Drivers |
nv_disable=1 | Disable NVIDIA graphics cards |
kext-dev-mode=1 | Kext Dev Mode |
rootless=0 | Rootless Mode (Yosemite Only) |
npci=0x2000 | If you're stuck at [PCI Configuration Began] |
npci=0x3000 | If you're stuck at [PCI Configuration Began] |
maxmem=4096 | Set Maximum Memory (MB RAM) |
maxmem=8192 | Set Maximum Memory (MB RAM) |
Troubleshooting
This feature is not available right now. Please try again later. Before the High Sierra update to 10.13.6 I was able to boot in single-user-recovery mode by holding Cmd-R-S at startup, but after the latest software update booting while holding Cmd-R-S just enters the regular Single-User Mode on the root volume (like if I pressed only Cmd-S).
If you are having any trouble, first try this string. It works on a lot of systems with Intel HD Graphics to get into the OS X Installer from a Unibeast USB.
If you have an NVIDIA Desktop GPU, use this string to boot into the installer:
If all else fails, or you don't know where to start, use this string:
If you have an NVIDIA Desktop GPU and you've installed NVIDIA Web Drivers, use this string: