# Puzzled by strange partition type: "!0"



## StR (Jun 25, 2015)

I am puzzled by this partition layout:

```
#gpart show
=>  0  31457280  ada0  BSD  (15G)
  0  16  - free -  (8.0K)
  16  20971504  1  !0  (10G)
  20971520  10485760  - free -  (5.0G)
```
Here is the df(1) output:

```
#df -h
Filesystem  Size  Used  Avail Capacity  Mounted on
/dev/ada0a  9.7G  3.6G  5.3G  40%  /
devfs  1.0K  1.0K  0B  100%  /dev
```
Just in case, - this is on a 10.1-RELEASE system installed from Colin Percival's AMI on Amazon's EC2. I wasn't installing it, so, I don't know if everything was done correctly.

1. What does the "!0" type mean?
2. Do I need to do anything about this (and what can I do?)


----------



## alphaniner (Jun 25, 2015)

If it ain't broke, don't fix it.

According to gpart(8), partition types are actually determined by a numeric string that begins with "!", for MBR and GPT schemes at least. Your disk is using BSD scheme, which is kind of unusual AFAICT. There is no mention of partition types for BSD scheme in the manpage, and I wasn't even able to create a partition with gpart for lack of a type to specify.


----------



## kpa (Jun 25, 2015)

alphaniner said:


> If it ain't broke, don't fix it.
> 
> According to gpart(8), partition types are actually determined by a numeric string that begins with "!", for MBR and GPT schemes at least. Your disk is using BSD scheme, which is kind of unusual AFAICT. There is no mention of partition types for BSD scheme in the manpage, and I wasn't even able to create a partition with gpart for lack of a type to specify.



They are there, you use freebsd for the slice with the BSD partitioning scheme (omitted in "dangerously dedicated mode"), freebsd-ufs for UFS filesystems and freebsd-swap for swap partitions. One of the examples in gpart(8) shows how to do it:


```
Create an MBR scheme on ada0, then create a 30GB-sized FreeBSD slice,
     mark it active and install the boot0 boot manager:

           /sbin/gpart create -s MBR ada0
           /sbin/gpart add -t freebsd -s 30G ada0
           /sbin/gpart set -a active -i 1 ada0
           /sbin/gpart bootcode -b /boot/boot0 ada0

     Now create a BSD scheme (BSD label) with space for up to 20 partitions:

           /sbin/gpart create -s BSD -n 20 ada0s1

     Create a 1GB-sized UFS partition and a 4GB-sized swap partition:

           /sbin/gpart add -t freebsd-ufs -s 1G ada0s1
           /sbin/gpart add -t freebsd-swap -s 4G ada0s1

     Install bootstrap code for the BSD label:

           /sbin/gpart bootcode -b /boot/boot ada0s1
```


----------

