# 格式化記憶卡 (建議在原生系統下進行)
- Linux、Ubuntu
- 終端機 Terminal
1. 查看記憶卡掛載位置
```shell=
lsblk
```

2. 卸載記憶卡
```shell=
sudo umount 記憶卡掛載位置
```
3. 格式化記憶卡 [Parted 簡易教學](https://shazi.info/%E7%94%A8-parted-%E5%88%87%E5%89%B2-2tb-%E4%BB%A5%E4%B8%8A%E7%9A%84%E7%A1%AC%E7%A2%9F%EF%BC%8C%E4%B8%8D%E8%A6%81%E5%86%8D%E7%94%A8%E9%81%8E%E6%99%82%E7%9A%84-fdisk/)
```shell=
## fdisk 僅能處理到 2TB 的磁碟 / 如果要用 2TB 以上的請使用 parted
sudo fdisk /dev/硬碟設備檔案名稱
## 接著會進入 fdisk 互動模式
## 移除現有分割區
輸入 `d` 可以刪除分割區(如果有複數個分割區會有數字選擇)
## 新增分割區
輸入 `n` 可以建立分割區
輸入 `p` 選擇建立主要分割區
接著輸入 `1` 建立第一個分割區
接著輸入分割區起始 sector (這邊按兩次 Enter 用預設的就是始至末)
輸入 `t` 可以對分割區進行格式化
如果有複數個分割區會再選擇分割區
輸入 `L` 可以看目前支援的格式代碼
輸入 `b` 可以選擇 W95 FAT32 格式
輸入 `w` 把更動寫入記憶卡
```
4. 掛載記憶卡
```shell=
sudo mount 記憶卡掛載位置
```
- 圖形化介面
1. 安裝 Gparted
- `sudo apt install gparted`
- `sudo gparted`
- 
2. 使用內建磁碟軟體進行格式化

- MacOS
- 終端機 Terminal
1. 查看記憶卡掛載位置
```shell=
diskutil list
```

2. 卸載記憶卡
```shell=
diskutil umountDisk 記憶卡掛載位置
```
4. 格式化記憶卡
```shell=
diskutil eraseDisk FAT32 記憶卡名稱(全大寫) (自己取) MBRFormat 記憶卡掛載位置
```

- [Option] 圖形化介面
1. 打開磁碟工具程式並顯示所有裝置

2. 針對裝置進行清除

- Windows
- 命令提示字元 CMD
1. 打開 CMD (Win + R)
2. 打開磁碟工具 `diskpart` (會另外開起新的視窗,以下皆在該視窗進行)
(判斷有無分割可以先使用 `list volume` 看 SD Card 磁碟區是不是只有一個)
例如像這樣,只有一個 F:/ 且容量與記憶卡相差甚遠,表示有另外進行切割

- 磁碟區有分割(需要合併的情況)
3. 查看記憶卡掛載磁碟 `list disk`
4. 選擇磁碟 `select disk 磁碟編號(###)`
5. 清除磁碟設定 `clean`
6. 建立磁碟分割 `CREATE PARTITION PRIMARY`
- 這邊可以加上 SIZE=容量(MB) 指定切割的大小
- 主要分割區 `PRIMARY` 之外是使用 `EXTENDED ` 標記延伸分割區
7. 指定掛載的位置 `ASSIGN LETTER=英文代號`
- 這邊代號請不要跟原本已經掛載的重複(有防呆)

- 磁碟區未分割的情況
3. 查看記憶卡掛載位置 `list volume`
4. 選擇記憶卡 `select volume 記憶卡的位置編號(### or Ltr)`
5. 快速格式化記憶卡 `format fs=fat32 quick`

- [Option] 圖形化介面
- 磁碟區有分割(需要合併的情況) 使用 `磁碟管理` (通常在右鍵 Windows 開始選單裡)
1. 刪除已分割磁碟區

2. 新增簡單磁碟區

3. 全部分配完畢

4. 幫磁碟區命名

- 磁碟區未分割的情況

### 透過 dd 進行燒錄 (Windows 請略過)
> cc / convert and copy、dd / data description、`dd / data destoryer`
> 1. 備份
> 2. 複製
> 3. 編碼轉換
- Ubuntu
```shell=
## if -> input file(or 裝置)、of -> output file(or 裝置)、bs -> BlockSize 一次讀寫的區塊大小(預設512 bytes)
## 可以嘗試 bs=4M
## conv=sync, 讀一個區塊寫一個區塊 / conv=fsync, 把區塊讀到磁碟快取, 通通讀完後一次寫入
## status=progress 顯示進度
sudo dd if=下載的Raspbian.img of=記憶卡掛載位置 bs=1M status=progress conv=fsync
```
- MacOS
```shell=
## MacOS 沒有進度條也沒有 fsync
sudo dd if=下載的Raspbian.img of=記憶卡掛載位置
## 可以從另外一個 Terminal 下這個指令,原本跑 dd 的頁面會顯示執行狀況
sudo pkill -INFO -x dd
```
### 透過 Win32diskmager (Windows Only / 需格式化)
> [官方載點](https://sourceforge.net/projects/win32diskimager/)
> * 需要格式化記憶卡
#### 燒錄方式
1. 選擇Raspbian映像檔
2. 選擇裝置掛載位置
3. 寫入資料到裝置中

### 透過 Ecther 進行燒錄
> [官方網站](https://www.balena.io/etcher/)
> 優點:幫你清除原先分割並燒錄
#### 燒錄方式
1. 下載、安裝 Etcher
2. 打開,選擇Raspbian映像檔、記憶卡
3. 按下`Flash!`等待完成

### 設定啟用 Uart
1. 掛載 SD Card
2. 打開 `boot` 找到 `config.txt`
3. 在 `config.txt` 在最底下新增
```
# Enable uart
enable_uart=1
```

:::warning
如果檔案已經鎖定,請用 `sudo` 打開
或是檢查 SD Card 旁邊卡榫不要在 Lock(防寫入) 那邊
:::