{"id":259,"date":"2021-06-13T12:22:56","date_gmt":"2021-06-13T19:22:56","guid":{"rendered":"http:\/\/junsun.net\/wordpress\/?p=259"},"modified":"2025-02-05T03:18:33","modified_gmt":"2025-02-05T11:18:33","slug":"install-full-ubuntu-on-portable-usb-drive","status":"publish","type":"post","link":"https:\/\/junsun.net\/wordpress\/2021\/06\/install-full-ubuntu-on-portable-usb-drive\/","title":{"rendered":"Install Full Ubuntu on Portable USB Drive"},"content":{"rendered":"\n<h2>Background<\/h2>\n\n\n\n<p>My goal is to install fully updateable Ubuntu 20.04 onto a USB stick, so that I can boot it up with any Intel-based PC&#8217;s or laptops.  However, due to what I considered a bug in Ubuntu, this is actually harder than it should be.  So I wrote down this blog in the hope it might help others, as well as my future self, in the similar shoes.<\/p>\n\n\n\n<p>Note that the objective is different from <a href=\"https:\/\/blog.achievable.me\/tech\/create-live-ubuntu-usb-drive\/\">so-called  LiveUSB ubuntu with persistency<\/a>, where Ubuntu OS itself will remain as a static ISO image and updates are added on-top in a separate persistent partition.  My goal is to install a standard Ubuntu OS on a USB disk, which can be updated and upgraded just like normal PC case, except that a) it is on a portable USB drive or disk and b) it is portable across different PC&#8217;s.  I suppose this setup gives longer life span of the installation, which potentially allows you to even upgrade your OS later.<\/p>\n\n\n\n<p>In the following steps, I will also show an optional feature which creates an encrypted home directory.<\/p>\n\n\n\n<h2> Assumptions and Prerequisites<\/h2>\n\n\n\n<ul><li>You need Intel x86_64 PC<ul><li>We assume it support UEFI and GPT partitions which are standards for all recent ones<\/li><\/ul><\/li><li>A USB drive that holds Ubuntu ISO image for installation, a.k.a. the installation media drive.  This needs to have 4GB minimum size.<\/li><li>A second USB drive or disk that will hold installed Ubuntu OS, a.k.a. the installation target drive.  This one needs 16GB minimum size<\/li><\/ul>\n\n\n\n<h2>Step 1 &#8211; flash Ubuntu ISO image to the installation media drive<\/h2>\n\n\n\n<p>I will not repeat the process here. Please refer to many pages below.<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-ubuntu#1-overview\">https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-ubuntu#1-overview<\/a><\/li><li><a href=\"https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-windows#1-overview\">https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-windows#1-overview<\/a><\/li><li><a href=\"https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-macos#1-overview\">https:\/\/ubuntu.com\/tutorials\/create-a-usb-stick-on-macos#1-overview<\/a><\/li><\/ul>\n\n\n\n<h2>Step 2 &#8211; Prepare the partition table on the target drive<\/h2>\n\n\n\n<ul><li>Insert installation media drive into PC.<\/li><li>Interrupt normal booting sequence and choose the media USB drive as the boot device<ul><li>Different PC have different process to do this.  On Lenovo PC, one has to press ENTER on bootup, and then press F12 to select boot device<\/li><\/ul><\/li><li>Select &#8220;Try Ubuntu&#8221; when presented the option<\/li><li>Insert target USB drive<ul><li>Identify which drive is target USB drive by examining the output &#8220;lsblk&#8221;<\/li><li>In most case if you follow the instructions exactly, it would be &#8220;\/dev\/sdb&#8221;<\/li><\/ul><\/li><li>Once Ubuntu is up and running, start a terminal and type &#8220;sudo gparted \/dev\/sdb&#8221; (replace &#8220;\/dev\/sdb&#8221; with the right usb device you have for the target USB drive)<ul><li>create GPT partition table<ul><li>click &#8220;Device&#8221;\/&#8221;Create Partition Table &#8230;&#8221;<\/li><li>select &#8220;gpt&#8221; as partition table type<\/li><li>See Pic #1 below<\/li><\/ul><\/li><li>create 100MB fat32 partition as ESP partition<ul><li>Click &#8220;Partition&#8221;\/&#8221;New&#8221;; <\/li><li>Enter &#8220;100MB&#8221; as size and select &#8220;FAT32&#8221; as file type<\/li><li>See Pic #2 below<\/li><\/ul><\/li><\/ul><ul><li>set &#8220;esp&#8221;, &#8220;boot&#8221; attributes to the new ESP partition<ul><li>Apply changes to actually crate the partition<\/li><li>Select the ESP partition and then select &#8220;Partition&#8221;\/&#8221;Manage Flags&#8221;<\/li><li>In the pop-up window, select &#8220;esp&#8221; and &#8220;boot&#8221; flag<\/li><li>See pic #3 below<\/li><\/ul><\/li><li>create an ext4 partition that takes the rest of space for root partition<ul><li>See pic #4 below<\/li><\/ul><\/li><li>(optional) if you like to have encrypted home partition, create an ext4 root partition with size of 10GB or more, and leave the rest free space open for encrypted home petition later.<ul><li>Pic #5 shows the partition table at this step.<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"783\" height=\"542\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-06-13-17-57-19.png\" alt=\"\" data-id=\"266\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=266\" class=\"wp-image-266\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-06-13-17-57-19.png 783w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-06-13-17-57-19-300x208.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-06-13-17-57-19-768x532.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #1 &#8211; Create GPT Partition Table<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"781\" height=\"541\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-04-19-21-00-32.png\" alt=\"\" data-id=\"267\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=267\" class=\"wp-image-267\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-04-19-21-00-32.png 781w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-04-19-21-00-32-300x208.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/Screenshot-from-2021-04-19-21-00-32-768x532.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #2 &#8211; Create ESP Partition<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"783\" height=\"542\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-esp-attribution.png\" alt=\"\" data-id=\"274\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-esp-attribution.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=274\" class=\"wp-image-274\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-esp-attribution.png 783w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-esp-attribution-300x208.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-esp-attribution-768x532.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #3 &#8211; set esp\/boot attributes<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"782\" height=\"543\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/create-root-partition-2.png\" alt=\"\" data-id=\"273\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/create-root-partition-2.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=273\" class=\"wp-image-273\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/create-root-partition-2.png 782w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/create-root-partition-2-300x208.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/create-root-partition-2-768x533.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #4 &#8211; create root partition<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/after-creating-root-partition.png\" alt=\"\" class=\"wp-image-275\" width=\"669\" height=\"464\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/after-creating-root-partition.png 782w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/after-creating-root-partition-300x208.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/after-creating-root-partition-768x533.png 768w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><figcaption>Pic #5 &#8211; after create ESP and root partitions<\/figcaption><\/figure>\n\n\n\n<h2>Step 3 &#8211; Install Ubuntu<\/h2>\n\n\n\n<p>Once we finish the above step, quit gparted and we are ready to install Ubuntu into the target USB drive.<\/p>\n\n\n\n<ul><li><span style=\"font-size: 1rem;\">click &#8220;install ubuntu&#8221; icon on the desk to to start installation<\/span><ul><li>select &#8220;something else&#8221; in partition page.  See Pic #6 below.<\/li><li>select the ESP partition on the target USB drive as the &#8220;ESP&#8221; partition.  See Pic #7 below.<\/li><li>select root partition and mount as &#8220;\/&#8221;.  See Pic #8 below.<\/li><li>(optional) Create encrypted physical volume<ul><li>Select the free space left during creating partitions<\/li><li>Click &#8220;+&#8221; to create a new partition\/volume<\/li><li>select &#8220;encrypted physical partition&#8221;.<\/li><li>See Pic #9 below.<\/li><\/ul><\/li><li>wait for a while, select &#8220;\/dev\/mapper\/sdb3_crypt&#8221; as &#8220;\/home&#8221;.  See Pic #10 below<\/li><li>Finish installation.<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"984\" height=\"589\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/installation-type-other.png\" alt=\"\" data-id=\"277\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/installation-type-other.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=277\" class=\"wp-image-277\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/installation-type-other.png 984w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/installation-type-other-300x180.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/installation-type-other-768x460.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #6 &#8211; Select &#8220;Other&#8221; installation type<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"976\" height=\"639\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-ESP-partition-for-installation-3.png\" alt=\"\" data-id=\"278\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-ESP-partition-for-installation-3.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=278\" class=\"wp-image-278\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-ESP-partition-for-installation-3.png 976w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-ESP-partition-for-installation-3-300x196.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-ESP-partition-for-installation-3-768x503.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #7 &#8211; Set ESP partition<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"976\" height=\"641\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-root-partition-for-installation.png\" alt=\"\" data-id=\"280\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-root-partition-for-installation.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=280\" class=\"wp-image-280\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-root-partition-for-installation.png 976w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-root-partition-for-installation-300x197.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-root-partition-for-installation-768x504.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #8 &#8211; set root partition<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"1024\" height=\"612\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-1024x612.png\" alt=\"\" data-id=\"279\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=279\" class=\"wp-image-279\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-1024x612.png 1024w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-300x179.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-768x459.png 768w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume.png 1116w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #9 &#8211; create encrypted physical volume<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container\"><\/div><\/div>\n\n\n\n<figure class=\"wp-block-gallery columns-1 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"983\" height=\"648\" src=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-as-home-partition.png\" alt=\"\" data-id=\"282\" data-full-url=\"http:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-as-home-partition.png\" data-link=\"http:\/\/junsun.net\/wordpress\/?attachment_id=282\" class=\"wp-image-282\" srcset=\"https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-as-home-partition.png 983w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-as-home-partition-300x198.png 300w, https:\/\/junsun.net\/wordpress\/wp-content\/uploads\/2021\/06\/set-encrypted-volume-as-home-partition-768x506.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"blocks-gallery-item__caption\">Pic #10 &#8211; Create\/set home partition<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h2>Step 4 &#8211; Fix EFI on target USB drive<\/h2>\n\n\n\n<p>At this point you might get an illusion everything is working, because if you reboot the PC you will be able to select either Ubuntu or Windows to boot up, and they all work.  However, there are 2 very serious problems<\/p>\n\n\n\n<ul><li>If you boot into BIOS and select the USB disk as boot device,  it won&#8217;t work.<\/li><li>Even worse, your PC is likely not able to boot up Windows either if you remove the target USB disk.<\/li><\/ul>\n\n\n\n<p>The reason for these problems is that, despite we told Ubuntu installer to install Ubuntu on the USB disk, which implies it should use the ESP partition on target USB disk, it still uses the ESP partition on PC built-in disk, and thus screws up EFI partition on PC and leave an empty EFI on target USB disk.  See <a href=\"https:\/\/bugs.launchpad.net\/ubuntu\/+source\/ubiquity\/+bug\/1396379\">more details at this very old bug report<\/a>.<\/p>\n\n\n\n<p>So the first thing we need to do is to install Ubuntu loader into USB ESP partition and install grub into USB disk <\/p>\n\n\n\n<ul><li>Reboot into BIOS firmware and select &#8220;ubuntu&#8221; as the boot target<\/li><li>switch EFI mount<ul><li>Type &#8220;lsblk&#8221; to verify that ESP partition on PC built-in drive is mounted<\/li><li>umount it,  &#8220;sudo umount \/boot\/efi&#8221;<\/li><li>mount the right one, &#8221; sudo mount \/dev\/sda1 \/boot\/efi&#8221;<\/li><\/ul><\/li><li>install grub boot on USB EFI partition<ul><li>&#8220;sudo modprobe efivars&#8221;<\/li><li>&#8220;grub-install -d \/usr\/lib\/grub\/x86_64-efi &#8211;efi-directory=\/boot\/efi\/ &#8211;removable \/dev\/sda&#8221;<\/li><li>Note &#8220;&#8211;removable&#8221; flag is important in the above command as it allows USB to boot on any Intel-based PCs<\/li><\/ul><\/li><li>Reboot into BIOS firmware and select target USB as boot device.  It should work now.<ul><li>You can try the USB disk on other PCs, and it should work as well.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>At this point, \/etc\/fstab is probably mounting PC EFI partition to \/boot\/efi, which is wrong and will break when you boot the target USB from another PC.  You can either delete the \/boot\/efi line in \/etc\/fstab, or replace the UUID with the one for EFI partition on target USB.  You can find out the UUID with &#8220;blkid&#8221; command (e.g., blkid \/dev\/sda1)<\/p>\n\n\n\n<h2>Step 5 &#8211; Restore PC boot loader<\/h2>\n\n\n\n<p>Now let us fix PC does not boot up problem (if you encounter this)<\/p>\n\n\n\n<ul><li>Boot up the PC into BIOS and select the newly made Ubuntu USB drive as boot device.  This will boot into Ubuntu.<\/li><li>Open a terminal<\/li><li>Remove Ubuntu from PC EFI partition, and PC will boot up windows again<ul><li>Mount host EFI partition as \/mnt,  &#8220;sudo mount \/dev\/nvme01n1p1 \/mnt&#8221;<\/li><li>&#8220;cd \/mnt\/EFI\/&#8221;<\/li><li>&#8220;sudo rm -rf ubuntu&#8221;<\/li><\/ul><\/li><li>NOTE  1: If your PC is already installed with another Ubuntu system, the bootloader entry &#8220;ubuntu&#8221; will collide with each other and the previous Ubuntu will not be able to boot.   You can follow <a href=\"https:\/\/howtoubuntu.org\/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd\">this guide<\/a> to restore booting the previous Ubuntu system.<\/li><li>NOTE 2: Annoyingly, if your PC is already installed with another Ubuntu system, each time you boot up with the USB target disk Ubuntu, it will modify the bootloader entry and cause previously installed Ubuntu unable to boot.  It is possible to rename previous Ubuntu bootloader in some tricky way so that both can live peacefully.  That probably warrant another blog.<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Background My goal is to install fully updateable Ubuntu 20.04 onto a USB stick, so that I can boot it up with any Intel-based PC&#8217;s or laptops. However, due to what I considered a bug in Ubuntu, this is actually harder than it should be. So I wrote down this blog in the hope it &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/junsun.net\/wordpress\/2021\/06\/install-full-ubuntu-on-portable-usb-drive\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Install Full Ubuntu on Portable USB Drive&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[3],"tags":[66,16],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/259"}],"collection":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/comments?post=259"}],"version-history":[{"count":10,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/259\/revisions"}],"predecessor-version":[{"id":434,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/posts\/259\/revisions\/434"}],"wp:attachment":[{"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/categories?post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/junsun.net\/wordpress\/wp-json\/wp\/v2\/tags?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}