When I upgrade, everything is OK. But next day when turn it on, it cannot log into desktop version. When I do reinstall ubuntu-desktop and reboot again. And it can not boot as the figure shown.
Did you upgrade by flashing, or with the Ubuntu mechanism? The Ubuntu mechanism (at least with older releases) does not understand boot requirements, nor does it make available the GPU drivers for the GUI and CUDA. If you upgraded 16.04 to 18.04 through the Ubuntu mechanism, then you will have to flash again.
The reason why the system would run correctly until reboot is that current files used to run the system are in RAM (and when the upgrade started the file which was inserted into RAM was still the old release). The updated version of the file is not used unless there is a reason to read the content again. Rebooting (unless suspend to RAM) will trigger using the new file. This is when some functions stop working.
You can clone and have a reference of what was there before flashing (which will erase everything). Clone instructions vary by release, and will have requirements when restoring from a clone, but actually extracting a clone via newer software should not be difficult. Since you would merely be keeping a copy for reference, and not using the clone for flash, this is rather simple with the latest release (and you would need the newer release anyway when flashing to Ubuntu 18.04). If you have something you want to save via clone, then just ask for more information here. Be prepared for needing a lot of disk space (space the size of the entire eMMC of the Jetson).
In the more recent releases the content which stock Ubuntu did not understand for booting has been converted to Ubuntu’s “
.deb” packages, and NVIDIA hosts an
apt repository for this. The result is that in these newer releases you can actually use the
apt mechanism of Ubuntu to perform upgrades (and conveniently, these are already Ubuntu 18.04), and avoid flashing when there are future major releases (I will qualify that below with some requirements).
There may be times when Ubuntu itself would offer an upgrade to 20.04 before NVIDIA has made available those upgrades. This would imply upgrade to 20.04 would be blocked due to unmet dependencies, but the system would not get through upgrade and then fail…the upgrade would be refused until the NVIDIA repository had upgraded packages to fulfill requirements.
I used sudo do-release-upgrade to upgrade from 16 to 18.
So how can I make it reboot successfully again?
Should I add one more SSD to do this(erase anything).
Or click some button to fix it?
The only fix is to start new…you will have to flash again. If you flash with a newer release which uses the package manager, then after this you will be able to use the release upgrade method (although the option would not work yet for going from Ubuntu 18.04 to 20.04 due to the 20.04 dependencies not yet being fulfilled by the NVIDIA packages).
As long as you are ok with the specific CUDA release, use the most recent JetPack/SDK Manager from an Ubuntu 18.04 host PC to flash. JetPack/SDKM release listings are shown here (you probably have to go there, log in, and click to go there again):