Partitions

From PS4 Developer wiki
Jump to navigation Jump to search

Table

Hard drive is identified by the device id “da0”.

da0x0 preinst msdosfs
da0x1 preinst2 msdosfs
da0x2 eap_kern
da0x3 eap_vsh msdosfs
da0x4 system msdosfs/exfat
da0x4b system(b) msdosfs/exfat
da0x5 system_ex msdosfs/exfat
da0x5b system_ex(b) msdosfs/exfat
da0x6 old swap swapfs
da0x6x0 new swap swapfs
da0x6x1 kernel log ?
da0x6x2 user log ?
da0x7 hiber ?
da0x8 app_tmp tmpfs
da0x9 system_data ufs
da0x10 rec_game ?
da0x11 rec_share ?
da0x12 update msdosfs
da0x13 user ufs
da0x14 eap_user ufs
da0x15 app_reserved (dmem swap) ufs
es0.crypt ext_hdd ?

HDD Partitions

Linux Disk Information

PS4 500GB HDD as seen with "GPT Protective Partition" in Windows XP/embedded/2003 32bit/x86

PS4 partitions as seen in Windows Vista/2008/7/8/10 and 64-bit version of Windows XP/2003
Part device file Z5K500
size
ST500LM012
size
in bytes type remarks
1 10 /dev/sdc17 1 GiB 1 GiB 1,073,741,824 80dd49e3-a985-4887-81de-1daca47aed90
2 15 /dev/sdc31 16 GiB 16 GiB 17,179,869,184 3ef7290a-de81-4887-a11f-46fba765c71c app_reserved
3 13 /dev/sdc27 420.12 GiB 420.120117188 GiB 451,100,540,928 c638477a-e002-4b57-a454-a27fb63a33a8 user
4 9 /dev/sdc13 8 GiB 8 GiB 8,589,934,592 76a9a5b4-44b0-472a-bde3-3107472adee2
5 5 /dev/sdc9 1 GiB 1 GiB 1,073,741,824 757a614b-6179-5361-6b61-6b6968617261 system
6 6 /dev/sdc10 1 GiB 1 GiB 1,073,741,824 757a614b-6179-5361-6b61-6b6968617261 system(b)
7 7 /dev/sdc11 1 GiB 1 GiB 1,073,741,824 dc85025f-a694-4109-be44-fa0c063e8b81 system_ex
8 8 /dev/sdc12 1 GiB 1 GiB 1,073,741,824 dc85025f-a694-4109-be44-fa0c063e8b81 system_ex(b)
9 11 /dev/sdc19 8 GiB 8 GiB 8,589,934,592 a71ff62d-1421-4dd9-935d-25dabd81bec5 system_data
A 1 /dev/sdc1 512 MiB 512 MiB 536,870,912 17800f17-b9e1-425d-b937-0119a0813172 preinst
B 2 /dev/sdc3 1 GiB 1 GiB 1,073,741,824 ccb52e94-ebef-48c4-a195-9e2da5b0292c preinst2
C 3 /dev/sdc5 16 MiB 16 MiB 16,777,216 145268bf-63ad-47c1-9378-9aacd9beed7c eap_kern
D 4 /dev/sdc7 128 MiB 128 MiB 134,217,728 6e0c5310-8445-4066-b571-9b65fdb75935 eap_vsh
E 14 /dev/sdc29 1 GiB 1 GiB 1,073,741,824 21e4dfb4-0040-4934-a037-ea9dc058eea6 eap_user
F 12 /dev/sdc25 6 GiB 6 GiB 6,442,450,944 fdb5ede1-73c3-4c43-8c5b-2d3dcfcddff8 update

Note: A raw dump of a HDD from a never booted PS4 would take 500,1 GiB (500,107,861,504 bytes), which would 7z compress nicely to around 1,2 GB (1,168,407,328 bytes)

Cygwin Disk Information

Device Size Remarks
/dev/sdb1 512MiB preinst
/dev/sdb2 1GiB preinst2
/dev/sdb3 16MiB eap_kern
/dev/sdb4 128MiB eap_vsh
/dev/sdb5 1GiB system
/dev/sdb6 1GiB system b
/dev/sdb7 1GiB system_ex
/dev/sdb8 1GiB system_ex b
/dev/sdb9 8 GiB unknown (log related)
/dev/sdb10 1 GiB unknown (system related)
/dev/sdb11 8 GiB system_data
/dev/sdb12 6 GiB update
/dev/sdb13 remaining GiB user
/dev/sdb14 1 GiB eap_user
/dev/sdb15 16 GiB app

PS4 HDD partitions check logs

From logs of a 5.05 PS4 testkit CUH-12xx when suspending, with stock 500GB HDD:

[SceShellCore][StorageStatsReport] HDD partition [WRITE] :
da0x4           (system      ): bytes:           0B, transfer:            0
da0x4b          (system(b)   ): bytes:      1.11GiB, transfer:         9068
da0x5           (system_ex   ): bytes:           0B, transfer:            0
da0x5b          (system_ex(b)): bytes:      1.04GiB, transfer:         8543
da0x6           (old swap    ): bytes:    705.43MiB, transfer:        17749
da0x8           (app_tmp     ): bytes:     35.26MiB, transfer:          880
da0x9           (system_data ): bytes:     41.48GiB, transfer:      1741368
da0x12          (update      ): bytes:      6.83GiB, transfer:        58112
da0x13          (user        ): bytes:     68.33GiB, transfer:      2180231
da0x14          (eap_user    ): bytes:      6.79MiB, transfer:         1403
da0x6x0         (new swap    ): bytes:    703.02MiB, transfer:        12979
da0x6x1         (kernel log  ): bytes:    654.00KiB, transfer:         1264
da0x6x2         (user log    ): bytes:      1.77MiB, transfer:         3506
es0.crypt       (ext_hdd     ): bytes:     50.37MiB, transfer:         1022

From logs of a 5.05 PS4 testkit CUH-12xx when suspending, after swapping HDD to a 512GB SSD, reinstalling firmware and reinitializing.

[SceShellCore][StorageStatsReport] HDD partition [WRITE] :
da0x4           (system      ): bytes:           0B, transfer:            0
da0x4b          (system(b)   ): bytes:           0B, transfer:            0
da0x5           (system_ex   ): bytes:           0B, transfer:            0
da0x5b          (system_ex(b)): bytes:           0B, transfer:            0
da0x6           (old swap    ): bytes:    182.00KiB, transfer:          352
da0x8           (app_tmp     ): bytes:           0B, transfer:            0
da0x9           (system_data ): bytes:      2.04GiB, transfer:        85198
da0x12          (update      ): bytes:           0B, transfer:            0
da0x13          (user        ): bytes:    233.85MiB, transfer:         8575
da0x14          (eap_user    ): bytes:    544.00KiB, transfer:          129
da0x6x0         (new swap    ): bytes:     16.00KiB, transfer:           32
da0x6x1         (kernel log  ): bytes:           0B, transfer:            0
da0x6x2         (user log    ): bytes:    166.00KiB, transfer:          320
  • These displayed sizes are the written sizes.
  • (b) stands for "backup" which is an inactive partition used when firmware update fails.

Mountpoints

Host devices
  • APP_HOME (DATA)
  • APP_HOME (HOST)

SceSysCore nmount / nmount_ufs

module type source destination
SceSysCore mini nmount /dev/da0x4.crypt /system
SceSysCore mini nmount /dev/da0x5.crypt /system_ex
SceSysCore mini nmount_ufs /dev/da0x9.crypt /system_data
SceSysCore mini nmount_ufs /dev/da0x13.crypt /user
SceSysCore mini nmount_ufs /dev/da0x14.crypt /eap_user
SceSysCore mini mount /dev/da0x12.crypt /update
SceSysCore mini nmount /dev/da0x0.crypt /preinst
SceSysCore mini nmount /dev/da0x1.crypt /preinst2
SceSysCore nmount /data /user/data
/dev/da1s1 /mnt/usb0

SceSysCore scheduler device

module scheduler source destination
SceSysCore GEOM I/O scheduler is da0 / da0.sched
SceSysCore BD scheduler bd_sched cd0 / cd0.sched (/mnt/disc0)

Partitions mounted on boot

From logs of a 5.05 PS4 testkit CUH-12xx when booting:

[SceSysCore mini] nmount /dev/da0x4.crypt to /system
[SceSysCore mini] nmount /dev/da0x5.crypt to /system_ex
[SceSysCore mini] nmount_ufs /dev/da0x9.crypt to /system_data
[SceSysCore mini] nmount_ufs /dev/da0x14.crypt to /eap_user
[SceSysCore mini] nmount /dev/da0x12.crypt to /update
[SceSysCore mini] nmount /dev/da0x0.crypt to /preinst
[SceSysCore mini] nmount /dev/da0x1.crypt to /preinst2
[SceSysCore] nmount /data to /user/data

Files on the PS4

Main article: Files on the PS4